Php 在CURL中超过了最大执行时间
我有这个源代码: LIST_CUSTOMERS.PHPPhp 在CURL中超过了最大执行时间,php,curl,xampp,Php,Curl,Xampp,我有这个源代码: LIST_CUSTOMERS.PHP 约翰 詹姆斯 $('select')。在('change',function()上 { var username=$(“#客户”).find(“:selected”).text(); $.post(“display.php”,{user:username},函数(结果) { $(“#content”).html(结果); }); }); DISPLAY.PHP FUNCTION.PHP 它可能是远程服务器上的连接限制 它可能基于用户
约翰
詹姆斯
$('select')。在('change',function()上
{
var username=$(“#客户”).find(“:selected”).text();
$.post(“display.php”,{user:username},函数(结果)
{
$(“#content”).html(结果);
});
});
DISPLAY.PHP
FUNCTION.PHP
它可能是远程服务器上的连接限制
它可能基于用户代理,很难知道。。。
试试这个:
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
值得一试
祝你好运谢谢,我换了,但没用。你认为这和卷发有什么关系?你检查了远程服务器上的日志/重复次数了吗?有什么我应该检查的吗?我查看了日志,没什么特别的。weblmail.example.com服务器端的时间是多少?
<?php
include "function.php";
if(isset($_POST["user"]))
{
echo webLogin($_POST["user"], "1ex!AM?plE2");
}
?>
<?php
function get_string_between($string, $start, $end)
{
$string = ' ' . $string;
$ini = strpos($string, $start);
if ($ini == 0) return '';
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
function curlRequest($url,$data)
{
$fp = fopen("cookie.txt", "w");
fclose($fp);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_TIMEOUT, 40000);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POSTFIELDS, $data);
ob_start();
return curl_exec ($login);
ob_end_clean();
curl_close ($login);
unset($login);
}
function webLogin($user, $pass)
{
// LoginURL
$loginUrl = 'http://webmail.example.com/login.php';
// Formfields Login
$form_fields_1 = array(
'user' => $user,
'pass' => $pass
);
// Formfields Mails
$form_fields_2 = array(
'message_id' => 0,
);
// Log into website
$content = curlRequest($loginUrl, $form_fields_1);
// Get the number of messages
if(strpos($content, "0 Mails.")==false)
{
// Got mails! -> Get exact number of emails
$buffer = get_string_between($buffer,"<div id='number_of_mails'>","</div>");
// Delete old content
$content = "";
// Create link to read mail
$link = "http://webmail.example.com/mailbox.php";
// Display all emails
for($i=0; $i<=(int)$buffer-1; $i++)
{
$form_fields_2['message_id'] = $i + 1;
// Login ... AGAIN ...
$fp = fopen("cookie.txt", "w");
fclose($fp);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_TIMEOUT, 40000);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($login, CURLOPT_URL, $loginUrl);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POSTFIELDS, $form_fields_1);
// Get email with id $i+1
curl_setopt($login, CURLOPT_URL, $link);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POSTFIELDS, $form_fields_3);
ob_start();
// Write results in $mail_content
$mail_content = curl_exec ($login);
ob_end_clean();
curl_close ($login);
unset($login);
// Compose output
$content.="Message " . $form_fields_2['message_id'] . ": <br/>";
$content.=get_string_between($mail_content,"<div class=\"messages\">","</div>");
$content.="</br><br/>";
}
}
else
{
// Got no mails!
$content = "Keine Mails!";
}
return $content;
}
?>
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');