在brew如何使用IWEB_GetResponse来post数据给服务器?

zooway 2003-09-13 12:09:33
在brew如何使用IWEB_GetResponse来post数据给服务器?
下面是我的代码,错误是不能将数据post上去
IPeek * pipPostData;
char * pszPostData;
ISourceUtil *pisu;
STRCPY(pMe->url,"http://xxx.xxx.xxx/1.asp?id=10245");
pMe->pszPostData=STRCHR(pMe->url,'?');
if(pMe->pszPostData!=NULL)
{
*pMe->pszPostData=0;
if(SUCCESS==ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_SOURCEUTIL,(void **)&pisu))
{
ISOURCEUTIL_PeekFromMemory(pisu,pMe->pszPostData+1,STRLEN(pMe->pszPostData+1),0,0,&pMe->pipPostData);
ISOURCEUTIL_Release(pisu);
}
}
IWEB_GetResponse(pMe->m_pWeb,(pMe->m_pWeb,&pMe->m_pWebResp,&pMe->m_Callback,pMe->url,
WEBOPT_HANDLERDATA,pMe,
WEBOPT_HEADER,"X-Method: POST\r\n",
WEBOPT_METHOD,"POST",
WEBOPT_BODY,pMe->pipPostData,
WEBOPT_CONTENTLENGTH,STRLEN(pMe->pszPostData+1),
WEBOPT_END));
...全文
243 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chrislois 2004-03-16
  • 打赏
  • 举报
回复
up
zooway 2003-09-25
  • 打赏
  • 举报
回复
谢谢sunwhite(大悲咒之湿婆神),问题已经解决。按照我的代码,post给服务器的数据是Multipart/form-data方式,所以服务器端(asp)需要用Request.BinaryRead(Request.TotalByte)方法来读取,并且利用ADODB.Stream来将字节还原成特定编码的字符串
yinxp2 2003-09-17
  • 打赏
  • 举报
回复
我知道brew市高通公司的一个产品,但他属于哪方面的产品呢?是为浏览器吗?还是其他的?请指点!
sunwhite 2003-09-16
  • 打赏
  • 举报
回复
我没有你的完整例子,所以不能确定问题出在何处。不过我分析了你的程序,认为可能有两处存在问题:
1、pMe->pszPostData指针在所在函数执行完毕后,这个指针指向的地址空间的数据被清空了,那样即使后台完成了POST操作,但数据是空的,也不会正确传送数据。所以这个错误归结为数据失败。
2、IWEB_GetResponse函数的设置错误,尤其表现在X-Method: POST\r\n"这里,首先我没有试过这样行不行,你可以再多试试,我写的代码是正确POST的,但是用的确实这样"accept: text/html, image/gif, image/jpeg, */*\r\nContent-type: application/x-www-form-urlencoded\r\nX-Method: POST\r\n",不知道这个对你有没有用。所以这个错误归结为操作失败。
sunwhite 2003-09-13
  • 打赏
  • 举报
回复
我详细分析了一下你的程序,应该说大体上没有太大的问题了,可能存在一下小问题。
首先你并没有说清楚“错误是不能将数据post上去”指的具体什么意思?是说这段代码不能完成post操作,还是post操作进行了,但是数据不对?请再详细一下,我好对症下药。
zooway 2003-09-13
  • 打赏
  • 举报
回复
在brew的例子中,有句话它是这么写的:pMe->pszPostData=STRCHR(pMe->url,1)
奇怪的是这个"1"是什么符号?我跟踪过,它的例子中pszPostData是空的,也就是说这个pMe->pszPostData=STRCHR(pMe->url,1)和后面的从url里面分割post数据的程序段都是不运行的,直接跳过以完整的带参数的url来执行get方式传输。
zooway 2003-09-13
  • 打赏
  • 举报
回复
错误是凡是POST数据,网页端都无法获得,可能是IWEB_GetResponse根本没有将POST数据传输出去,只打开了"?"前面的url地址,请帮帮我

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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