我写了一段代码,将数据添加到网址后面发送出去。
先是新建了一个项目,在这个项目里,其它的啥都没有,就有发送数据的代码。结果就发送成功了。
然后我把这一段代码添加到我实际的项目中,再也没有发送成功过。模拟器上是好的,返回的代码是200。可是一部署到手机上,就出问题了。返回的代码不是-1292,就是400,或者是505……
以下是我的代码的核心,还望各位不吝赐教!
/*
发送http请求的主方法
*/
static void websend_Start(CWebSend *pCWebSend, char *pszUrl, int* nStatus)
{
CALLBACK_Init(&pCWebSend->cbWeb, websend_cbWeb, pCWebSend); //初始化回调函数
DBGPRINTF("ISHELL_CreateInstance start!");
if(ISHELL_CreateInstance(pCWebSend->pApp->a.m_pIShell, AEECLSID_WEB, (void**)&pCWebSend->pIWeb) != SUCCESS){
*nStatus = 0;
return;
}
IWEB_GetResponse(pCWebSend->pIWeb,(pCWebSend->pIWeb, &pCWebSend->pIWebResp, &pCWebSend->cbWeb, pszUrl, WEBOPT_PROXYSPEC, " http:///http://10.0.0.200:80", WEBOPT_END));
*nStatus = 1;
}
/*
接口回调函数定义
*/
static void websend_cbWeb(CWebSend *pCWebSend)
{
int pnCode = 0;
pCWebSend -> pRespInfo = IWEBRESP_GetInfo(pCWebSend -> pIWebResp); //获得信息
pnCode = pCWebSend -> pRespInfo -> nCode;
if(WEB_ERROR_SUCCEEDED(pCWebSend -> pRespInfo -> nCode))
{
char* pData = MALLOC(500 * sizeof(char));
ISOURCE_Read(pCWebSend->pRespInfo->pisMessage, pData, 500);
pCWebSend->pAECHAr = (AECHAR*)MALLOC(50 * sizeof(AECHAR));
UTF8TOWSTR((byte*)pData, STRLEN(pData), pCWebSend->pAECHAr, 500 * sizeof(AECHAR));
FREEIF(pData);
DrawInfoInterface(pCWebSend, TRUE);
}
else
{
DrawInfoInterface(pCWebSend, FALSE);
}
FREEIF(pCWebSend->pWholeMsg);
}