繁体   English   中英

cURL PHP:连接到发票系统

[英]cURL PHP: Connecting to Invoicing System

我正在尝试使用cURL连接到这样的页面: https ://clients.mindbodyonline.com/asp/home.asp?studioid =851使用以下代码;

<?php

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'https://clients.mindbodyonline.com/asp/home.asp?studioid=851');
//curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_HTTPAUTH, CURLAUTH_ANY);

curl_setopt($curl_handle,CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt($curl_handle,CURLOPT_COOKIEFILE, '/tmp/cookies.txt');

//curl_setopt($curl_handle,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_handle,CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, 1);

//curl_setopt($curl_handle,CURLOPT_HEADER, 1);
//curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER, 1);
//curl_setopt ($curl_handle,CURLOPT_POST, 1);

$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

if (empty($buffer))
{
    print "Sorry, The booking system appears to be unavailable at this time.<p>";
}
else
{
    print $buffer;
}
?>

我摆弄了设置,得到的仅有三个响应是:

  1. 什么都没有加载,并且错误消息被调用
  2. 本地重定向到/ asp / home ...
  3. 返回“ 1”,仅此而已

谢谢你的时间!

1.没有加载任何内容 :您的代码可以正常工作,但是他们忽略了您。 最终可能是一些防锤击功能。 您始终可以将代码更改为休眠一段时间,然后重试几次。

2.本地重定向到/ asp / home ... :您的代码正在运行,但是从浏览器执行的页面返回javascript并将您重定向到不存在的页面。 要在不运行的情况下查看此代码,请执行以下操作:

print htmlspecialchars($buffer);

3.返回“ 1”,仅此而已 :如果不使用,则会发生这种情况

curl_setopt($client, CURLOPT_RETURNTRANSFER, true);

取消注释。

不幸的是,即使那样,您仍然无法按原样阅读此特定站点,因为它是由javascript绘制的,而cURL无法运行。

您正在使用的Cookie可能无效(即,会话已过期)。 如果您在没有Cookie的情况下加载该页面,则会获得POST表单。 也许您应该先发送该POST数据,获取cookie,然后在剩余的会话中使用这些cookie。

另外,您需要将CURLOPT_RETURNTRANSFER为1才能使用$buffer 如果不是,则cURL将输出其获取的页面,这可能是解释#2的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM