Page 1 sur 2
[R] Récuperer un lien dans une variable
Posté : dim. 19 févr. 2012 02:42
par yagonfstm91
Bonjour !
Voila j'ai une variable qui contient :
► Afficher le texte
Code : Tout sélectionner
HTTP/1.1 200 OK
Date: Sun, 19 Feb 2012 00:56:24 GMT
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.5 Perl/v5.8.8
X-Powered-By: PHP/5.3.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=5e058aa05cacb3c4d5a5dbd88daaef23; path=/
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
15ba
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- SPOLIER -->
<script type="text/javascript">
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none")
{
targetElement.style.display = "" ;
} else {
targetElement.style.display = "none" ;
}
}
function lance(){
if(fonction_1()){
fonction_2();
}
}
//fonction 1
function fonction_1(){
//tes instructions
javascript:visibilite('id_div_1');
javascript:visibilite('id_div_2');
//puis
return true;
}
//fonction 2
function fonction_2(){
//tes instructions
location.href='#fin';
//puis
return true;
}
</script>
<meta name="generator" content="Chevereto NB1.9r1" /><!-- LET IT BIT! -->
<title>Image téléchargé avec succès | YagoUpload - Hébergement d'images !</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="fr" />
<link href="http://yagoupload.fr.nf/estilo.css" rel="stylesheet" type="text/css" />
<meta name="description" content="YagoUpload est un hebergeur d'images gratuit, via un site internet ou un logiciel."/>
<meta name="keywords" content="images, photos, image hosting, photo hosting, free image hosting, yago, img, jpg, telecharger, upload, autoit"/>
<meta name="robots" content="index,follow"/>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="/js/pngfix.js"></script>
<![endif]-->
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1");</script>
<script type="text/javascript" src="/js/jquery.scrollTo-min.js"></script>
<script type="text/javascript" src="/js/jquery_support.js"></script>
<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
process();social();});
// ]]>
</script>
</head>
<body>
<div id="top">
<div id="logo">
<a href="http://yagoupload.fr.nf/"><img src="/site-img/logo.png" alt="YagoUpload" /></a>
</div>
<div id="tagline">Hébergement d'images !</div><div id="limite">JPG PNG BMP GIF <span>Max.5Mb</span></div>
</div>
<div id="subiste-viendo"><h1>téléchargée <a href="/images/test.png">test.png</a> (343.74 KB - 415x282px)</h1></div>
<div id="contenido">
<div id="tools"><div id="fullsize" style="display: none; "><a href="/images/test.png" title="415x282">plein taille</a></div><div id="sharethis"><a id="sharing">share</a><a id="sharing-close" style="display: none;">share</a></div></div>
<div id="imagen"><a href="/images/test.png"><img src="/images/test.png" alt="" /></a></div>
<div id="share" >
<div id="mostrar_mas_enlaceview">
<h2 id="mev">Lien miniature + <u>affichage</u></h2>
<div class="ctninput">
<div class="codex">HTML:</div><div class="inputshare">
<input tabindex="1" value="<a href="http://yagoupload.fr.nf/?v=test.png"><img src="http://yagoupload.fr.nf/thumbs/test.png" border="0"></a>" onclick="this.focus();this.select();" />
</div>
</div>
<div class="ctninput">
<div class="codex">Forums:</div><div class="inputshare">
<input tabindex="2" value="[url=http://yagoupload.fr.nf/?v=test.png][img]http://yagoupload.fr.nf/thumbs/test.png[/img][/url]" onclick="this.focus();this.select();" />
</div>
</div>
</div>
<div id="mostrar_directa">
<h2 id="md">Afficher directement
Et j'aimerais récupéré ceci :
Ou cela :
Je suis sur qu'il faut utiliser les fonctions "String" mais je suis vraiment nul avec !
Merci
Edit : J'ai réussis de la manière suivante :
Code : Tout sélectionner
$sResponse = StringSplit($sResponse, "]")
$lienyagoupload = $sResponse[7]
$lienyagoupload = StringReplace($lienyagoupload, "[/img", "")
$lienyagoupload = StringReplace($lienyagoupload, "thumbs", "images")
Mais doit surement y avoir plus simple.
Re: [..] Récuperer un lien dans une variable
Posté : dim. 19 févr. 2012 09:17
par TopXm
Salut,
Hum en fait je suis passé par un StringRegExp
► Afficher le texteRecup URL du site et le dossier de l'image
Code : Tout sélectionner
#include <array.au3>
$nfile = FileOpen('mypage.txt') ;J'ai collé le code source dans un fichier pour tester
$nBuf = FileRead($nfile)
FileClose($nfile)
$nPattern = '(?s)<a href="(.*?)"'
$Items = StringRegExp($nBuf, $nPattern, 3)
_ArrayDisplay($Items)
ça te convient ?
Re: [..] Récuperer un lien dans une variable
Posté : dim. 19 févr. 2012 11:42
par mikell
Si c'est juste pour l'image, ya aussi ça
Code : Tout sélectionner
$nfile = FileOpen('mypage.txt') ;J'ai collé le code source dans un fichier pour tester
$nBuf = FileRead($nfile)
FileClose($nfile)
Msgbox(0,"", StringRegExpReplace($nBuf, '(?s).+img src="([^"]+).+', "$1") )
Re: [..] Récuperer un lien dans une variable
Posté : dim. 19 févr. 2012 15:02
par yagonfstm91
Ca marche Merci !

Re: [R] Récuperer un lien dans une variable
Posté : mer. 22 févr. 2012 16:53
par yagonfstm91
Hum parfois il arrive que ca me retourne ca :
Code : Tout sélectionner
http://YagoUpload.fr.nfHTTP/1.1 200 OK
Date: Wed, 22 Feb 2012 15:44:46 GMT
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.5 Perl/v5.8.8
X-Powered-By: PHP/5.3.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=c71a7b30eb197efe1b7b5f2fd102d41f; path=/
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
b3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="
2
fr
8
" lang="

Re: [..] Récuperer un lien dans une variable
Posté : mer. 22 févr. 2012 18:21
par Iste
Ca manque de "?" !
Essayez avec '(?s).+img src="([^"]+?).+' en regexp
Re: [..] Récuperer un lien dans une variable
Posté : mer. 22 févr. 2012 23:07
par mikell
@Iste
'(?s).+img src="([^"]+?).+'
Pas bon, dans ce cas le non-gourmand ne fait retourner que le 1er caractère (non-guillemet) après la marque de début (img src=") ^^
la négation-plus est précisément une alternative économe au plus-non-gourmand (.+?)
Re: [..] Récuperer un lien dans une variable
Posté : mer. 22 févr. 2012 23:38
par Iste
Ha uai c'est pas faux, j'ai reconnu le probleme et ai essayé de coller la solution habituelle, mais qui ne convient pas dans ce cas ^^'
Pour ça que ça me semblait étrange
Bon bah on peut ajouter l'espace a la négation alors.
Mais le plus sur pour l'avenir du future, serait de lister tout les caractères possibles qui sont bien moins nombreux que ceux impossibles ! (pour le moment)
Re: [..] Récuperer un lien dans une variable
Posté : jeu. 23 févr. 2012 12:18
par yagonfstm91
Euh d'accord merci donc je met quoi du coup ?
Re: [..] Récuperer un lien dans une variable
Posté : jeu. 23 févr. 2012 16:44
par mikell
Humpf sans code ni lien à tester, on répond quoi ?
Chez moi l'exemple précédent marche, mais tu peux aussi essayer ça
Code : Tout sélectionner
$nfile = FileOpen('mypage.txt') ;J'ai collé le code source dans un fichier pour tester
$nBuf = FileRead($nfile)
FileClose($nfile)
Msgbox(0,"", StringRegExpReplace($nBuf, '(?s)(.+?)img src="(.+?)".+', "$2") )
Re: [..] Récuperer un lien dans une variable
Posté : ven. 24 févr. 2012 08:05
par yagonfstm91
Merci je vais essayer.
Voici donc la fonction complète :
Code : Tout sélectionner
Func _UploadTo_yagoupload($sFile, $iRet_Type = 0)
$sLocalFile = $sFile ;Local file
$sHost = 'http://yagoupload.fr.nf' ;Upload page addresss
$sFormAction = '/' ;Upload form action ("form action=...upload.php)"
$sFormName = 'fileup' ;Upload form name ("input name=uploadfile")
$sResponse = _TCPFileUpload($sLocalFile, $sHost, $sFormAction, $sFormName)
FileWrite("mypage.txt", $sResponse)
$nfile = FileOpen('mypage.txt')
$nBuf = FileRead($nfile)
FileClose($nfile)
FileDelete("mypage.txt")
$lienyagoupload = StringRegExpReplace($nBuf, '(?s)(.+?)img src="(.+?)".+', "$2")
$lienyagoupload = "http://YagoUpload.fr.nf"&$lienyagoupload
Return $lienyagoupload
EndFunc
Re: [..] Récuperer un lien dans une variable
Posté : ven. 24 févr. 2012 17:43
par yagonfstm91
Code : Tout sélectionner
StringRegExpReplace($nBuf, '(?s)(.+?)img src="(.+?)".+', "$2")
Hum sa me retourne le logo du site,c'est pas ce que je veux
D'ailleurs pourquoi passer par un txt ?
Code : Tout sélectionner
$lienyagoupload = StringRegExpReplace($sResponse, '(?s).+img src="([^"]+).+', "$1")
$lienyagoupload = "http://YagoUpload.fr.nf"&$lienyagoupload
Ca marche aussi
Re: [..] Récuperer un lien dans une variable
Posté : ven. 24 févr. 2012 21:53
par mikell
[quote="yagonfstm91"]
Code : Tout sélectionner
Hum sa me retourne le logo du site,c'est pas ce que je veux [/quote]Bon OK, mais retrouver une image dans un code se fait par des balises, des repères, etc, et dans ta page comme repère pour les images, on trouve :
img src="
image" src="
img src=
id_div_2.src=
Alors il suffit de choisir le bon ^^
Re: [..] Récuperer un lien dans une variable
Posté : sam. 25 févr. 2012 12:07
par yagonfstm91
Je viens de faire avec ca :
Code : Tout sélectionner
$lienyagoupload = StringRegExpReplace($sResponse, '(?s).+href="/images([^"]+).+', "$1")
$lienyagoupload = "http://YagoUpload.fr.nf/images"&$lienyagoupload
ca a l'air de macher
edit : ah bah non, il arrive encore que parfois ca me retourne
Code : Tout sélectionner
http://YagoUpload.fr.nf/imagesHTTP/1.1 200 OK
Date: Sat, 25 Feb 2012 00:00:24 GMT
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.5 Perl/v5.8.8
X-Powered-By: PHP/5.3.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=2f5f91d437b9752e106e670ebecbaaa4; path=/
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
b3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="
2
fr
8
" lang="
Le probleme doit venir d'ailleurs...
edit : Comment afficher un message d'erreur si $lienyagoupload retourne le mauvais code ?
Re: [..] Récuperer un lien dans une variable
Posté : dim. 26 févr. 2012 21:51
par TopXm
Salut,
Donnes un exemple de retour de request qui "merdoit", ça aidera sans doute
c'est toi qui héberges l'image et tu veux récup l'url dans la page ? C'est de la lecture de code source à la volée ?
Re: [..] Récuperer un lien dans une variable
Posté : dim. 26 févr. 2012 22:17
par mikell
TopXm a écrit :C'est de la lecture de code source à la volée ?
Si oui, le script de chargement avec l'adresse précise de la page, ça aiderait...
Re: [..] Récuperer un lien dans une variable
Posté : dim. 26 févr. 2012 22:52
par yagonfstm91
TopXm a écrit :Salut,
Donnes un exemple de retour de request qui "merdoit", ça aidera sans doute
Ben je l'ai poster dans le message juste au dessus
TopXm a écrit :c'est toi qui héberges l'image et tu veux récup l'url dans la page ? C'est de la lecture de code source à la volée ?
Oui
mikell a écrit :Si oui, le script de chargement avec l'adresse précise de la page, ça aiderait...
Ben je l'ai poster plus haut aussi, a moins que l'on parle pas de la meme chose...
► Afficher le texte
yagonfstm91 a écrit :
Voici donc la fonction complète :
Code : Tout sélectionner
Func _UploadTo_yagoupload($sFile, $iRet_Type = 0)
$sLocalFile = $sFile ;Local file
$sHost = 'http://yagoupload.fr.nf' ;Upload page addresss
$sFormAction = '/' ;Upload form action ("form action=...upload.php)"
$sFormName = 'fileup' ;Upload form name ("input name=uploadfile")
$sResponse = _TCPFileUpload($sLocalFile, $sHost, $sFormAction, $sFormName)
FileWrite("mypage.txt", $sResponse)
$nfile = FileOpen('mypage.txt')
$nBuf = FileRead($nfile)
FileClose($nfile)
FileDelete("mypage.txt")
$lienyagoupload = StringRegExpReplace($nBuf, '(?s)(.+?)img src="(.+?)".+', "$2")
$lienyagoupload = "http://YagoUpload.fr.nf"&$lienyagoupload
Return $lienyagoupload
EndFunc
Actuellement j'utilise :
Code : Tout sélectionner
_UploadTo_yagoupload("fichier.jpg")
Func _UploadTo_yagoupload($sFile, $iRet_Type = 0)
$sLocalFile = $sFile ;Local file
$sHost = 'http://yagoupload.fr.nf' ;Upload page addresss
$sFormAction = '/' ;Upload form action ("form action=...upload.php)"
$sFormName = 'fileup' ;Upload form name ("input name=uploadfile")
$sResponse = _TCPFileUpload($sLocalFile, $sHost, $sFormAction, $sFormName)
$lienyagoupload = StringRegExpReplace($sResponse, '(?s).+href="/images/([^"]+).+', "$1")
$lienyagoupload = "http://YagoUpload.fr.nf/?img="&$lienyagoupload
Return $lienyagoupload
EndFunc
Re: [..] Récuperer un lien dans une variable
Posté : dim. 26 févr. 2012 23:23
par mikell
Faudrait faire un test de debug
► Afficher le texte
Code : Tout sélectionner
_UploadTo_yagoupload("fichier.jpg")
Func _UploadTo_yagoupload($sFile, $iRet_Type = 0)
$sLocalFile = $sFile ;Local file
$sHost = 'http://yagoupload.fr.nf' ;Upload page addresss
$sFormAction = '/' ;Upload form action ("form action=...upload.php)"
$sFormName = 'fileup' ;Upload form name ("input name=uploadfile")
$sResponse = _TCPFileUpload($sLocalFile, $sHost, $sFormAction, $sFormName)
[color=#FF0000]FileWrite("debug.txt", $sResponse) ; <= tester le regexp là-dessus[/color]
$lienyagoupload = StringRegExpReplace($sResponse, '(?s).+href="/images/([^"]+).+', "$1")
$lienyagoupload = "http://YagoUpload.fr.nf/?img="&$lienyagoupload
Return $lienyagoupload
EndFunc
Re: [..] Récuperer un lien dans une variable
Posté : lun. 27 févr. 2012 12:09
par TopXm
Hello
En effet j'avais rien capté, je pensais que ce que tu avais posté c'était après le RegExp, mais dans ce cas vu le code source retourné on dirait bien que c'est le _TCPFileUpload qui se vautre et non le code fourni par Mikell

Re: [..] Récuperer un lien dans une variable
Posté : mer. 29 févr. 2012 16:30
par yagonfstm91
Comment faire pour faire un truc du genre :
Si $sReponse (ou $lienyagoupload) contient "HTTP/1.1 200 OK" alors afficher une MsgBox ?
edit c'est bon j'ai trouver
Code : Tout sélectionner
$SplitLienYagoUpload = StringSplit($lienyagoupload, "/")
If $SplitLienYagoUpload[4] = "?img=HTTP" Then
MsgBox(48, "Erreur - YagoUpload", "L'envois de l'image a échoué, veuillez réessayer.")
$lienyagoupload = "http://YagoUpload.fr.nf/?img=xpb4h.png"
EndIf