• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

获取图片问题

php 搞代码 3年前 (2022-01-23) 23次浏览 已收录 0个评论
文章目录[隐藏]

http://api.94qing.com/verify.php
这个地址
试了好多次不行 希望指导怎么获取这个地址的验证码写到本地目录并显示

回复讨论(解决方案)

获取到本地目录并显示…你的意图是?

@PhpNewnew 显示验证码

获取到本地目录并显示…你的意图是?

获取到验证码 显示在网站要求用户输入验证码后继续调用该网站

我没看懂你的意思:
本地是指你自己的网站吗?如果是有两种方法:
1、
2|

$img=file_get_contents("http://api.94qing.com/verify.php");header("content-type:image/jpeg");echo $img;

希望对你有帮助

我没看懂你的意思:
本地是指你自己的网站吗?如果是有两种方法:
1、
2|

$img=file_get_contents("http://api.94qing.com/verify.php");header("content-type:image/jpeg");echo $img;

希望对你有帮助

那么获取改图片保存本地再读出呢

file_put_contents('图片文件名', $img);

但你这个连接是个验证码图片,带有 sessionID
当普通图片处理是不行的

想跨域….这个你要是做成个客户端 保持连接 那还是可以的…要是按照你现在的逻辑 本地网站套别人的网站…那你直接引用他的图片地址不就好了 模拟提交嘛

使用curl模拟获取验证码,同时将curl获取的Cookie进行存储,等你发送数据的时候(Curl发送数据)带上这个Cookie

说白吧 –我研究出这个网站的api调用是这样的 论坛之前说的是访问存个cookie去调用 但是现在他加了一个验证码 验证码对了才能 所以 我想调用必须解决验证码问题– 所以想到让访问用户自己打 因为 cookie的是一天内有效 所以 只要有一个人打了验证码就可以了 所以说获取这个图片到本地再显示 用户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 <<< FORMFORM;  exit;}

第一次进入会有输入验证码的表单,以后再刷新就不需要了
为简单起见,只示例了获取当前时间的 api

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<em style="color:transparent">本@文来源[email protected]搞@^&代*@码网(</em><q>搞代gaodaima码</q>); //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;}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:获取图片问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址