php – 尝试使用cURL避免ASP.NET会话

我正在使用来自提供商的网络服务,该服务提供商在预测我的需求方面有点太有帮助.他们给了我一个HTML代码片段粘贴在我的网站上,供用户点击以触发他们的服务.我更喜欢编写这个过程的脚本,所以我有一个PHP脚本,它会根据需要将cURL请求发布到同一个url.但是,此提供程序会密切关注我的会话,并将每个新请求解释为第一个请求的更新,而不是每个请求都是唯一请求.

我已经就我的问题联系了提供商,他们已经告诉我他们的系统正在按预期工作,并且我不可能避免为每个后续的cURL请求使用相同的ASP.NET会话.虽然我最喜欢的选择是切换到不同的供应商,但这似乎不是一个选择.是否有可靠的方法获取每个cURL请求的新ASP.NET会话?

我尝试过以下一套CURLOPT,但无济于事:

//initialize curl 
$ch = curl_init($url); 

//build a string out of the post_vars
$post_str = http_build_query($post_vars);

//set the necessary curl options 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str); 
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "UZ_".uniqid());
curl_setopt($ch, CURLOPT_REFERER, CURRENT_SITE_URL."index.PHP?newsession=".uniqid());
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Pragma: no-cache", "Cache-Control: no-cache"));

//execute the call to the backend script, retrieve the results 
$xmlstr = curl_exec($ch);

解决方法:

如果cURL没有多大帮助,为什么不尝试其他方法从脚本调用服务,如PHP的file()函数或file_get_contents().

如果您看到根本没有看到任何差异,那么服务提供商可能正在使用您的IP来跟踪您的请求.尝试使用一些代理进行测试.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...