ホームページ  >  記事  >  バックエンド開発  >  Curl は同じコードで一方が成功し、もう一方は失敗するのはなぜですか?

Curl は同じコードで一方が成功し、もう一方は失敗するのはなぜですか?

WBOY
WBOYオリジナル
2016-06-23 13:29:451338ブラウズ

コード1、画像が表示できます

<?phpheader('content-type:image/jpg;');//图片url一$login_url   = 'http://www.1769pt.com/include/getcode.php';$ch          = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$contents = curl_exec($ch);curl_close($ch);echo $contents ;  ?>

コード2、画像が表示できません
<?phpheader('content-type:image/jpg;');//图片url二$login_url   = 'http://172.16.28.1/root/ef30d3ea-e0c5-448e-8678-c30daccadd20/USER_CACHE/54/66/546686fc-152a-449a-8ae1-7bec1d438fc6/3.jpg';$ch = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$contents = curl_exec($ch);curl_close($ch);echo $contents ; ?>


ディスカッションに返信(解決策)

コード2 URLにアクセスできません

http://www. 1769pt.com/include /getcode.php は公開 URL なので、当然アクセスできるはずです
http://172.16.28.1/root/ef30d3ea-e0c5-448e-8678-c30daccadd20/USER_CACHE/54/66/546686fc-152a -449a-8ae1-7bec1d438fc6/ 3.jpg は LAN の URL ですが、アクセスできるかどうかはわかりません

$error=curl_error($ch); echo $error;

エラーがあるかどうかを確認します。

コード 2 の画像アドレスを変更しましたが、まだ表示できません

<?phpheader('content-type:image/jpg;');//图片url二$login_url   = 'http://17wo.cn/captcha.do';$ch = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$contents = curl_exec($ch);curl_close($ch);echo $contents ; ?>

直接アクセスはこれです

問題は解決しました。オンライン Web サイトでテストしたところ、「HTTP ステータス 400 - HTTP メソッド POST」と表示されました。はこの URL ではサポートされていません

次に、//curl_setopt($ch, CURLOPT_POST, 1); をコメントアウトします、皆さんありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:コードの暗号化次の記事:コードの暗号化