http方式上传数据Post时,对数据有什么格式要求吗?

RedGuest 2002-05-10 08:27:45
例如,我要登陆一个网站
我的做法

Post("www.mysite.com", "username=myname&password=mypassword")

遗憾的是,都失败了

请问,对url,和数据有什么样的格式要求?

有这方面的资料吗?
...全文
559 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwch99 2002-05-21
  • 打赏
  • 举报
回复
post方式啊!我的问题解决了!
post的数据必须是char *类型!(vc中)
wabc 2002-05-15
  • 打赏
  • 举报
回复
gz
RedGuest 2002-05-11
  • 打赏
  • 举报
回复
我Post后,服务器返回是: Input Not Valid

好烦,不过,我是通过代理上网的,哦,可能是代理的原因:)

--------------------------------------------------------------------
楼上的,你在那里指定的上传方式啊?
HttpSendRequest(....到底是Get, 还是Post?

wwch99 2002-05-11
  • 打赏
  • 举报
回复
兄台,大家同病相连啊!我要登陆login.mail.sohu.com我的服务器几nserver是
login.mail.sohu.com在openrequest的szpath是/chkpwd.php我可以连上服务器!可是,我发送的数据是“UserName=myname&Password=mypwd&x=28&y=4"
但是,我用sniffer抓来的不是我要post!导致服务器说我的用户名是空!更在ie登陆时用空用户名登陆的效果是一样的!
CString m_optional=“UserName=myname&Password=mypwd&x=28&y=4"
CString szHeaders="Content-Type:application/x-www-form-urlencoded\r\nAccept-Encoding:gzip,deflate\r\nProxy-Connection:Keep-Alive\r\nUser-Agent:Mozilla/4.0(compatible;MSIE 5.01;Windows NT 5.0)";
//
BOOL bSendRequest=::HttpSendRequest(hHttpFile,
szHeaders, szHeaders.GetLength(),
&m_optional,
m_optional.GetLength());
帮忙看看有什么问题啊?
RedGuest 2002-05-11
  • 打赏
  • 举报
回复
意思我是懂了,可是我是在C++Builder中做的
它直接提供一个方法Post(url, Data)
可以,我怎么也成功不了,不知道如何是好
蒋晟 2002-05-10
  • 打赏
  • 举报
回复
HOWTO: Simulate a Form POST Request Using WinInet

Q165298
Here is a snippet of code that uses the MFC WinInet classes to simulate a Form POST request:


CString strHeaders =
_T("Content-Type: application/x-www-form-urlencoded");
// URL-encoded form variables -
// name = "John Doe", userid = "hithere", other = "P&Q"
CString strFormData = _T("name=John+Doe&userid=hithere&other=P%26Q");

CInternetSession session;
CHttpConnection* pConnection =
session.GetHttpConnection(_T("ServerNameHere"));
CHttpFile* pFile =
pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,
_T("FormActionHere"));
BOOL result = pFile->SendRequest(strHeaders,
(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
Without MFC, the same code translates to straight SDK calls as follows:

static TCHAR hdrs[] =
_T("Content-Type: application/x-www-form-urlencoded");
static TCHAR frmdata[] =
_T("name=John+Doe&userid=hithere&other=P%26Q");
statuc TCHAR accept[] =
_T("Accept: */*");

// for clarity, error-checking has been removed
HINTERNET hSession = InternetOpen("MyAgent",
INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hConnect = InternetConnect(hSession, _T("ServerNameHere"),
INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
HINTERNET hRequest = HttpOpenRequest(hConnect, "POST",
_T("FormActionHere"), NULL, NULL, accept, 0, 1);
HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata));
// close any valid internet-handles



16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧