我需要知道是否可以加载html页面并使用php在此页面内提交表单。所以像:
<?php
$html = fopen("http://www.mysite.com","r");
//get position of form...
...
//submit it
?>
可能吗?有人能帮我吗?感谢!!!
编辑:
我必须提交此表格
https://annunci.ebay.it/pubblica-annuncio
我的问题是,在这个页面上有一个图片上传,我不知道如何使用PHP(抓它)
答案 0 :(得分:3)
您还可以使用curl
发布到任何网址,例如表单的操作网址。
$ch = curl_init('http://example.com/form_action.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('your' => 'data', 'goes' => 'here');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
这会调用网址http://example.com/form_action.php,就好像是从表格中调用了网址{&#39;设定价值&#39;数据&#39;并且&#39;去&#39;设置为值&#39; here&#39;。
要查找POST所需的URL,您可以检查源代码。这样做时,请检查&#34; name&#34;您要发送的<input>
代码的属性。
编辑:如果POST网址和字段可以更改,您应该检查@Adan's answer。
答案 1 :(得分:1)
基本上这就是你需要做的事情
1-使用file_get_contents()
获取HTML页面的内容(牢记安全风险)
2-使用DOMDocument解析HTML
3-使用ACTION
获取表单的属性,最重要的是(METHOD
,DOMDocument
)
4-使用DOMDocument
获取表单的字段名称
5-然后使用方法ACTION
向METHOD
网址发送包含您想要的数据的请求,使用cURL替换字段
答案 2 :(得分:1)
你可以使用curl在php中获取页面。正如回答@Lumbendil所述。要解析HTML,您可以使用像
这样的库http://simplehtmldom.sourceforge.net/
或者您可以使用
答案 3 :(得分:0)
作为另一个更干净的选项,您可以使用eBay API。它提供了添加新项目的方法,它可能已经为php构建了库,例如PHP Accelerator toolkit for eBay。
答案 4 :(得分:0)
我提供了一个我从网上获取的代码来获取页面的内容。之后,您可以使用jquery(可能)强制提交函数。
$url = "URL OF YOUR PAGE"; // I have tested page from same server
$lines = file( $url );
foreach( $lines as $line_num => $line ) {
$line = htmlspecialchars( $line );
$line = str_replace( "<", '<span><', $line );
$line = str_replace( ">", '></span>', $line );
$line = str_replace( "<!–", '<em><!–', $line );
$line = str_replace( "–>", '–></em>', $line );
echo "<span class=\"linenumber\">Line <strong>$line_num </strong></span> : " . $line . "<br/>\n";
}
上面的代码从同一服务器上的另一个页面给了我内容。现在你必须找到一种方法来检查表格是否存在然后;强制提交该表格。