Php Curl Saçma Sapan Bir Sorun.
-
Dostlar şimdi olay şöyle.
Curl ile aşağıdaki şekilde linkteki resmi indirebiliyorum.
function download_image1($image_url, $image_file){ $fp = fopen ($image_file, 'w+'); $ch = curl_init($image_url); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 1000); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'); curl_exec($ch); curl_close($ch); fclose($fp); } download_image1("https://xxx.com/v/34565.24694-24/434_47463_t.jpg?ccb=11-4&oh=16d94f917feca1e658e6d55a66492c59&oe=6099AE64", "local_image1.jpg");
Şimdi sorun ve ilgiç olan kısmı :
$out while içerisinde (socketten 1024 byte gelen bir link.)
echo $out ettiğimde link doğru düzgün geliyor sorun yok.
curl'ün içine url olarak $out çakıyorum.
download_image1($out, "local_image1.jpg");
Bölye yapınca resim 0kb geliyor aslında gelmiyor.
başta ssl sorunu diye düşündüm curl ile ssl sertifikası gönderdim olmadı - ssl bypass ettim yine olmadı.
sonra yine düşündüm :-) ssl sorunu olsa yukarda linki belirttiğim şekildede indirmezdi.
olay nedir burda bilgisi olan var mı ?
Tahminim $out 'a gelen link curl'ün içinde bir şekilde bozuluyor, urldecode ettim yine değişen bir şey ok.
Edit : TheAvenqer dostumuz çözdü socketten gelirken linkin kıçına \r eklendiği için kaka yapıyormuş :-) replace edince sorun çözüldü.
Teşekkür ederim diğer ilgilenen arkadaşlara.
kUz3y tarafından 08/May/21 21:22 tarihinde düzenlenmiştir -
bende böyle bir sorunla karşılaşmıştım,phpnin copy(); fonksiyonunu kullanarak çözdüm. :)
-
Realist bunu yazdı
bende böyle bir sorunla karşılaşmıştım,phpnin copy(); fonksiyonunu kullanarak çözdüm. :)
işte bu yöntemle gidincede ssl hatası veriyor :-)
failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
şöyle dedim yine aynı.
$context = stream_context_create(array( 'http' => array( 'header' => array('User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201'), ), )); $imageURL = "https://www.domain.net/images/commercial-wordPress-theme1.jpg"; copy($out,'sample.jpg', $context);
kUz3y tarafından 08/May/21 18:59 tarihinde düzenlenmiştir -
not olsun kafam iyi anlamadım ayıkken yine okuyacağım /:
-
-
yolbulucu bunu yazdı
guzlle kullansana ne uğraşıyon curl falan ?
araştırırken onuda gördüm guzlle aynı problem var.
garip bir durum anlam vermeye çalışıyorum :)
-
kUz3y bunu yazdıyolbulucu bunu yazdı
guzlle kullansana ne uğraşıyon curl falan ?
araştırırken onuda gördüm guzlle aynı problem var.
garip bir durum anlam vermeye çalışıyorum :)
curl attığın sunucu ipsi-asnsi-useragenti banlanmış, site TR'de açılıyorsa TR proxy US'de açılıyorsa US proxy EU'da açılıyoras EU proxy kullanacaksın hocam bunun meali budur
-
yalinyalniz bunu yazdıkUz3y bunu yazdıyolbulucu bunu yazdı
guzlle kullansana ne uğraşıyon curl falan ?
araştırırken onuda gördüm guzlle aynı problem var.
garip bir durum anlam vermeye çalışıyorum :)
curl attığın sunucu ipsi-asnsi-useragenti banlanmış, site TR'de açılıyorsa TR proxy US'de açılıyorsa US proxy EU'da açılıyoras EU proxy kullanacaksın hocam bunun meali budur
yok şef buradaki olay farklı.
useragent değiştim vs.
mantıksız olan şu linki manuel kendim tanımladığımda sorunsuz alıyor curl ile.
ancak farklı bir responstan gelen değişkeni gösterdiğimde kaka yapıyor orada bi gariplik var.