http://api.94qing.com/verify.php
このアドレス
何度も試しましたが、うまくいきませんでした。このアドレスの確認コードを取得してローカル ディレクトリに書き込む方法について教えてください。
ローカルディレクトリを取得して表示…どういう意図ですか?
@PhpNewnew 確認コードを表示
ローカルディレクトリにアクセスして表示... どういう意図ですか?
意味がわかりません:
ローカルとは自分の Web サイトを指しますか?その場合、次の 2 つの方法があります:
1.
$img=file_get_contents("http://api.94qing.com/verify.php");header("content-type:image/jpeg");echo $img;
I意味を理解してください:
ローカルとは自分の Web サイトを指しますか? 2 つの方法がある場合:
1.
2|
$img=file_get_contents("http://api.94qing.com/verify.php");header("content-type:image/jpeg");echo $img;
file_put_contents('图片文件名', $img);
通常の画像処理は不可能です
クロスドメインにしたい場合は... これをクライアントにするとまだ接続を維持しても問題ありません...現在のロジックによれば、ローカル Web サイトが他の人の Web サイトに埋め込まれている場合...その場合は、その人の画像アドレスを直接引用して、送信をシミュレートした方が良いのではないでしょうか
率直に言うと、私はこの Web サイトの API 呼び出しを次のように研究しましたこれは、フォーラムにアクセス時に呼び出すための Cookie が保存されると書かれていましたが、現在は検証コードが追加されているため、この呼び出しで検証コードの問題が解決されるはずだと思います。 Cookie は 1 日以内に有効なので、認証コードを入力する必要があるのは 1 人だけです。そのため、この画像をローカルで取得し、ユーザー IP を使用して表示して認証コードを取得することはできないようです。仕事です
明らかにあなたの考えは正しいです
私が書いたテスト例では、
session_start();header('Content-type: text/html;charset=utf-8');include 'curl/curl_get.php';$url = 'http://api.94qing.com/';if(isset($_GET['img'])) { curl_get($url); echo curl_get($url . 'verify.php'); exit;}switch(1) { case isset($_POST['code']): $_SESSION['94qing'] = $_POST['code']; curl_get($url . "?code=$_POST[code]"); case isset($_SESSION['94qing']): echo curl_get("$url?type=time"); break; default: echo <<< FORM<form method=post><img src=$_SERVER[PHP_SELF]?img=img><input type=text name=code><input type=submit value=ok></form>FORM; exit;}
curl_get 関数は何度も投稿されていますが、一般的な設定のみをカバーしています
もう一度投稿します
function curl_get($durl, $data=array()) { $cookiejar = realpath('cookie.txt'); $t = parse_url($durl); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$durl); curl_setopt($ch, CURLOPT_TIMEOUT,5); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_REFERER, "http://$t[host]/"); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiejar); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_ENCODING, 1); //gzip 解码 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if($data) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } $r = curl_exec($ch); curl_close($ch); return $r;}