1

我有一个外部站点,需要我访问。登录 b. 后表单(带有 2-3 个动态参数)

我需要一个 PHP 脚本来自动执行此行为。即脚本应首先使用用户名/密码登录,然后导航到 URL 并提交表单(使用动态参数)

如何使用 PHP 做同样的事情?

4

1 回答 1

1

我推荐使用这个类:

http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading

它会是这样的:

$c = new CURLRequest();
$c->retry = 2;
$c->get( $url, $this->curlOpts );
$url = 'https://secure.login.co.uk/';
$opts = array(
    CURLOPT_USERAGENT       => 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)',
    CURLOPT_COOKIEFILE      => 'anc.tmp',
    CURLOPT_COOKIEJAR       => 'anc.tmp',
    CURLOPT_FOLLOWLOCATION  => 1,
    CURLOPT_RETURNTRANSFER  => 1,
    CURLOPT_SSL_VERIFYHOST  => 0,
    CURLOPT_SSL_VERIFYPEER  => 0,
    CURLOPT_TIMEOUT         => 120
);
$opts[CURLOPT_POSTFIELDS] = 'username=user&password=pass&submit=1';
$request = $c->get( $url, $opts );

注意:有些网站要求您先下载登录页面才能设置 cookie。

此外,您需要在帖子字段中对特殊字符进行 url_encode。

于 2013-05-17T03:08:15.857 回答