Curl v PHP nefunguje s IIS

Curl v PHP nefunguje s IIS
« kdy: 08. 09. 2012, 20:08:07 »
Ahojte, cez curl v php bežne ťahám dáta z iných URL, používam na to napríklad toto:
Kód: [Vybrat]
function download_remote($url , $save_path)    {
  $ch = curl_init();
  $fh = fopen($save_path, 'w');
  curl_setopt($ch, CURLOPT_FILE, $fh);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_exec($ch);
  fflush($fh);
  fclose($fh);
}
Funkcia funguje, párkrát som kód z nej použil. Teraz potrebujem stiahnuť niečo z podivného webového servera, pretože mi miesto požadovaného obsahu vracia vytrvale toto:
Kód: [Vybrat]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Microsoft-IIS/6.0 Server at www.*******.sk Port 80</address>
</body></html>
Neviete prečo sa tento zvláštny a takmer sa nevyskytujúci server správa tak podivne? Prípadne rady, ako by som sa dostal k požadovanému obsahu. Na tomto serveri Java bohužiaľ nie je, v nej funguje stiahnutie súboru bez problémov.
« Poslední změna: 10. 09. 2012, 15:15:04 od Petr Krčmář »


PCnity

  • *****
  • 691
    • Zobrazit profil
    • E-mail
Re:CURL v php
« Odpověď #1 kdy: 08. 09. 2012, 21:09:12 »
Nakolko ides na port 80, nahod si tcpdump na styl:

tcpdump -i any -v -n host <IPadresa> -s 0 -w ./tcpdump

Nasledne sa pozri wiresharkom na request ktory CURL spravi. Serveru sa nepaci request.

Re:CURL v php
« Odpověď #2 kdy: 10. 09. 2012, 09:27:37 »
Ďakujem za radu, ale na serveri som nemal tieto možnosti. Stačilo pritom nastaviť USER-AGENT a curl funguje.