读书人

wininet上传文件关于host和url的有关

发布时间: 2012-03-08 13:30:13 作者: rapoo

wininet上传文件,关于host和url的问题。
为什么在开启fiddler抓包工具的时候,文件上传是成功的,但是关闭后,文件上传就失败。
跟host有关吗?后面有8080端口。求解了!!

POST /cdlnode/ul/?parentId=&name=bug.txt HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data; boundary=----------Ef1ei4Ef1gL6Ef1GI3Ij5ae0KM7gL6
User-Agent: Shockwave Flash
Host: t1.dfs.kuaipan.cn:8080
Content-Length: 111245
Connection: Keep-Alive
Pragma: no-cache


m_AgentName = _T("Upload_fileKP");
m_Method = _T("POST");
m_Host = _T("t1.dfs.kuaipan.cn/8080");
m_Url =_T("/cdlnode/ul/?parentId=&name=Ben.dat");

HINTERNET hSessionUp = InternetOpen( m_AgentName.c_str(), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 );

HINTERNET hConnectUp = InternetConnect(hSessionUp, m_Host.c_str(), INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
if ( !hConnectUp )
return FALSE;

HINTERNET hRequestUp = HttpOpenRequest(hConnectUp ,m_Method.c_str(), m_Url.c_str(), HTTP_VERSION, NULL, NULL, INTERNET_FLAG_DONT_CACHE, NULL);
if ( !hRequestUp )
return FALSE;

[解决办法]
InternetConnect 函数

所处动态链接库的文件名:WinINet.dll
返回值类型:整数型,返回的是Internet的链接句柄
参数<1>的名称为“hInternet”,类型为“整数型”。就是Internetopen的句柄
参数<2>的名称为“lpszServerName”,类型为“文本型”。域名
参数<3>的名称为“nServerPort”,类型为“整数型”。服务器端口
参数<4>的名称为“lpszUserName”,类型为“文本型”。用户名普通访问网页时都为空
参数<5>的名称为“lpszPassword”,类型为“文本型”。密码普通访问网页时都为空
参数<6>的名称为“dwService”,类型为“整数型”。INTERNET_SERVICE_HTTP
参数<7>的名称为“dwFlags”,类型为“整数型”。0
参数<8>的名称为“dwContext”,类型为“整数型”。0

返回一个句柄。如果返回句柄=0。要释放Internetopen这个句柄。
[解决办法]
INTERNET_DEFAULT_HTTP_PORT
Uses the default port for HTTP servers (port 80).

lpszServerName [in]
Pointer to a null-terminated string that specifies the host name of an Internet server. Alternately, the string can contain the IP number of the site, in ASCII dotted-decimal format (for example, 11.0.1.45).

你的参数用错了
[解决办法]
m_Host = _T("t1.dfs.kuaipan.cn:8080");

读书人网 >VC/MFC

热点推荐