导航:首页 > 编程语言 > php模拟提交表单

php模拟提交表单

发布时间:2022-08-11 12:24:33

php curl 模拟post表单向提交数据

不需要抓取数据的话,就只要分析一下对方网站表单需要的字段,然后把action的地址改成对方网站的就提交路径就行了,但如果对方网站提交时要获取cookie的话才需要用curl

㈡ PHP 如何带上cookies模拟GET表单提交

$querystring = "key1=value1&key2=value2"; //get方式querystring

$cookie_jar='' //手动登陆一次后获取cookie文件路径,,这里填写cookie路径

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://1.2.3.4/loginstudent.action?$querystring");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$result=curl_exec($ch);
curl_close($ch);

㈢ PHP里模拟Post提交是什么意思

php
表单提交常见的就是post和get
模拟提交就是通过其他技术达到post或get的效果
php
常见的模拟就是curl方式了
作用比如说刷票
每次提交它可以模拟ip
逃过ip限制
图片上传
可以post提交
不用模拟

㈣ 用php代码方式模拟提交文字加图片的表单怎么实现的

使用PHP的cURL库,或者
snoopy类
这两种都可以试试。具体使用方式网上很多,搜一下。

㈤ 请教用Curl 在php 里面模拟表单提交 文本+文件的写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

public function curl($url, $postFields = null)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($this->readTimeout) {
curl_setopt($ch, CURLOPT_TIMEOUT, $this->readTimeout);
}
if ($this->connectTimeout) {
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout);
}
//https 请求
if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}

if (is_array($postFields) && 0 < count($postFields))
{
$postBodyString = "";
$postMultipart = false;
foreach ($postFields as $k => $v)
{
if("@" != substr($v, 0, 1))//判断是不是文件上传
{
$postBodyString .= "$k=" . urlencode($v) . "&";
}
else//文件上传用multipart/form-data,否则用www-form-urlencoded
{
$postMultipart = true;
}
}
unset($k, $v);
curl_setopt($ch, CURLOPT_POST, true);
if ($postMultipart)
{
foreach ($postFields as $k => $v){
if ("@" == substr($v, 0, 1)){
$tempffile = preg_replace ('/^\@/' ,'' ,$v);
$advfield[$k] = new CURLFile($tempffile);
}else {
$advfield[$k] = $v;
}
}

curl_setopt($ch, CURLOPT_POSTFIELDS, $advfield);
unset($k, $v, $advfield);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); //田村改
//curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => new CURLFile(realpath('image.png'))]);
}
else
{
curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString,0,-1));
}
}
$reponse = curl_exec($ch);

if (curl_errno($ch))
{
throw new Exception(curl_error($ch),0);
}
else
{
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (200 !== $httpStatusCode)
{
throw new Exception($reponse,$httpStatusCode);
}
}
curl_close($ch);
return $reponse;
}

表单列表是 $postFields 传入参数
数组,如果有文件 ,就在数组的值 前面加@

已经做好的 集成类 的实现 其他类字段和方法没给出,写不下了。
但是大致的实现过程应该可以看懂了

㈥ PHP如何实现向指定页面填写表单并提交就是发贴

给你指定思路:先建立表单(表单使用POST方式提交)----
在POST提交的方法里对表单进行获取值($title
=
$_REQUEST['title'])----
再将获取到的值保存到数据库里就行了

阅读全文

与php模拟提交表单相关的资料

热点内容
超级命令的英文 浏览:781
做账为什么要用加密狗 浏览:583
考研群体怎么解压 浏览:156
linux修改命令提示符 浏览:224
圆圈里面k图标是什么app 浏览:59
pdf加空白页 浏览:945
linux服务器如何看网卡状态 浏览:316
解压新奇特视频 浏览:706
图书信息管理系统java 浏览:554
各种直线命令详解 浏览:863
程序员泪奔 浏览:147
素材怎么上传到服务器 浏览:517
android百度离线地图开发 浏览:191
web可视化编程软件 浏览:294
java笔试编程题 浏览:746
win11什么时候可以装安卓 浏览:564
java不写this 浏览:1001
云点播电影网php源码 浏览:97
pythonclass使用方法 浏览:226
移动加密软件去哪下载 浏览:294