如何利用curl实现form表单提交 带文件上传
发布网友
发布时间:2022-04-23 13:36
我来回答
共2个回答
懂视网
时间:2022-04-30 09:29
心酸的过程我就不说了,直接上菜。
如何用Qt实现:curl -F file=@task.plist http://www.fatjb.com/uploadfile
QFile file(m_sTaskPlistPath);
if(file.exists())
{
if(!file.open(QIODevice::ReadOnly))
{
QMessageBox::warning(this, tr("Warning"), tr("打开task.plist失败!"), QMessageBox::Yes);
return;
}
QByteArray fileContent = file.readAll();
file.close();
QString sCrlf="
";
qsrand(QDateTime::currentDateTime().toTime_t());
QString b=QVariant(qrand()).toString()+QVariant(qrand()).toString()+QVariant(qrand()).toString();
QString sBoundary="---------------------------"+b;
QString sEndBoundary=sCrlf+"--"+sBoundary+"--"+sCrlf;
QString sContentType="multipart/form-data; boundary="+sBoundary;
sBoundary="--"+sBoundary+sCrlf;
QByteArray boundary=sBoundary.toAscii();
QByteArray sendData;
sendData.append(boundary);
sBoundary = sCrlf + sBoundary;
boundary = sBoundary.toAscii();
sendData.append(QString("Content-Disposition: form-data; name="file"; filename=""+QString(m_sTaskPlistPath.toUtf8().constData())+"""+sCrlf).toAscii());
sendData.append(QString("Content-Transfer-Encoding: 8bit"+sCrlf).toAscii());
sendData.append(sCrlf.toAscii());
sendData.append(fileContent);
sendData.append(sEndBoundary.toAscii());
QNetworkRequest req(QUrl(m_sAddress+m_sUploadPath));
req.setHeader(QNetworkRequest::ContentTypeHeader, sContentType.toAscii());
req.setHeader(QNetworkRequest::ContentLengthHeader, QVariant(sendData.size()).toString());
QNetworkReply* pReply = m_pManager->post(req, sendData);
connect(pReply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(NetworkError(QNetworkReply::NetworkError)));
}
else
{
QMessageBox::warning(this, tr("Warning"), tr("task.plist不存在!"), QMessageBox::Yes);
}
为什么我会知道?下个wireshark抓包,然后跟着正确包慢慢调就知道了,果然还是不能懒。
QNetworkAccessManager实现curl上传表单文件
标签:
热心网友
时间:2022-04-30 06:37
//上传D盘下的test.jpg文件,文件必须存在,否则curl处理失败且没有任何提示
$data = array('name' => 'Foo', 'file' => '@d:/test.jpg');
注: PHP 5.5.0起,文件上传建议使用CURLFile代替@
$ch = curl_init('http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
更多内容请参考:http://www.zjmainstay.cn/php-curl#十模拟上传文件
如何利用curl实现form表单提交 带文件上传
//上传D盘下的test.jpg文件,文件必须存在,否则curl处理失败且没有任何提示$data = array('name' => 'Foo', 'file' => '@d:/test.jpg');注: PHP 5.5.0起,文件上传建议使用CURLFile代替@$ch = curl_init('http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl...
PHP curl 模拟表单数据流multipart/form-data上传文件
$data .= "--" . static::$delimiter . $eol . 'Content-Disposition: form-data; name="media"; filename="' . $param['filename'] . '"' . "\r\n" . 'Content-Type:application/octet-st...
cURL 常用命令指南:强大功能汇总
发起POST请求:适用于发送数据,如表单提交。上传文件:使用命令把本地文件上传到服务器。下载文件:命令下载远程文件并以本地指定名字保存。自定义请求头:使用命令指定内容类型,如JSON。保存和应用Cookies:命令保存会话Cookies到本地文件。处理重定向:自动追踪重定向,直至获取目标位置。规定超时:设定请求...
curl的用法
按下这个按钮,表单用POST方法向服务器提交数据。这时的URL是看不到的,因此需要使用特殊的方法来抓取这个页面:curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi这个命令就可以做到。1995年年末,RFC 1867定义了一种新的POST方法,用来上传文件。主要用于把本地文件上传到服务器。此时页面是这样写的...
cURL命令详解
文件上传:通过`-F`或`--form`上传二进制文件,如`-F file=@photo.png`。设置Referer和User Agent:`-e`和`-H`用于设置HTTP头,如`-e 'Referer: google.com?q=example'`。cookie管理:使用`-b`或`--cookie`管理cookie,保存和使用服务器返回的cookie。这些选项使得cURL能够灵活处理各种网络请求...
curl使用
`文件下载和上传2.7 下载功能使用`-o`或`--output`将输出保存到文件:```htmlcurl -X GET -o doc.xlsx "http://192.168.101.11:9090/doc/downExcel" 或 curl -X GET --output doc.xlsx "http://192.168.101.11:9090/doc/downExcel"```2.8 上传文件 对于Multipart/form-data格式...
curl上传文件是这么弄得么
curl -F "filename=@/home/test/file.tar.gz" http://localhost/action.php 如果使用了-F参数数,curl就会以 multipart/form-data 的方式发送POST请求。-F参数以name=value的方式来指定参数内容,如果值是一个文件,则需要以name=@file的方式来指定。如果通过代理,上面的命令有可能会被代理拒绝,...
curl命令如何支持文件上传和使用常用参数进行网页自动化处理?_百度...
curl的使用方法直观简单,基本语法是:curl [参数] [网址]。例如,要将下载的数据保存到本地文件,可以使用-O选项,如`[root@linuxcool~]# curl https://www.aiofo.com/abc.txt --silent -O`,这里`--silent`表示无声模式,而`-O`则会自动将下载内容的远程文件名应用到本地文件名上。对于...
如何使用curl将文件上传到Atlassian Confluence页面
× 个人、企业类侵权投诉 违法有害信息,请在下方选择后提交 类别 垃圾广告 低质灌水 色情、暴力 政治敏感 我们会通过消息、邮箱等方式尽快将举报结果通知您。 说明 0/200 提交 取消 新手帮助 如何答题 获取采纳 使用财富值 玩法介绍 知道商城 知道团队 合伙人认证 高质量问答 投诉建议 意见反馈 账号申诉 智能...
紧急求助,关于PHP中curl的
如:处理cookies,验证,表单提交,文件上传等等。好,现在我们来用代码完成上述cURL的四步:<?php //1.初始化,创建一个新cURL资源 $ch = curl_init(); //2.设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.lampbrother.net/"); curl_setopt($ch, CURLOPT_HEADER, 0); //3.抓取URL并...