質問

$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch=curl_init();
   curl_setopt ($ch, CURLOPT_URL,$url );
   curl_setopt($ch, CURLOPT_USERAGENT, $agent);
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt ($ch,CURLOPT_VERBOSE,false);
   curl_setopt($ch, CURLOPT_TIMEOUT, 5);
   curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
   curl_setopt($ch,CURLOPT_SSLVERSION,3);
   curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
   $page=curl_exec($ch);
   //echo curl_error($ch);
   $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
   curl_close($ch);

私は自分のプロジェクトでカールを使用しています。 WebサイトのHTTPコードを取得しています。しかし、「asdasd」($ url = "asdasd")を試してみると、httpコードを返します。しかし、「ASDASD」はWebサイトではありません。なぜHTTPコードが200であるのですか?

役に立ちましたか?

解決

からの返品値を確認することをお勧めします curl_exec 最初。それは言います マニュアル:

戻り値 TRUE 成功についてまたは FALSE 失敗時。ただし、 CURLOPT_RETURNTRANSFER オプションが設定されており、成功の結果を返します。 FALSE 失敗時。

にとって curl_getinfo あります サイドノート:

ハンドルが再利用されている場合、この関数によって収集された情報は保持されます。これは、この関数によって統計が内部的にオーバーライドされない限り、以前の情報が返されることを意味します。

そのため、HTTP 200は以前のCurl Inkocationの結果である可能性があります。

他のヒント

ローカルで開発し、カスタムマネージドDNSサービスを使用すると、別の可能なエラーが発生する可能性があります。おそらく、Opendnsが行っているようなマネージャーページをいくつか取得できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top