读书人

Navigate怎么伪造来源地址(Referer)

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

Navigate如何伪造来源地址(Referer)?
我查了资料,Navigate可以发送post数据,可以用来发referer
我在网上找了段代码发post
void WebPostData(TCppWebBrowser *CppWebBrowser, String sURL, String sPostData)

{
BSTR bstrHeaders = NULL;
TVariant vFlags = {0}, vTargetFrameName={0}, vPostData={0}, vHeaders={0};
LPSAFEARRAY psa;
LPCTSTR cszPostData = sPostData.c_str();
UINT cElems = lstrlen(cszPostData);
LPSTR pPostData;
LPVARIANT pvPostData;

bstrHeaders = SysAllocString(L "Content-Type: application/x-www-form-urlencodedrn ");
if (!bstrHeaders){
Application-> MessageBox( "Could not allocate bstrHeaders ", "Warning ", MB_OK | MB_ICONWARNING);
return;
}

V_VT(&vHeaders) = VT_BSTR;
V_BSTR(&vHeaders) = bstrHeaders;

pvPostData = vPostData;

if(pvPostData){
VariantInit(pvPostData);

psa = SafeArrayCreateVector(VT_UI1, 0, cElems);
if(!psa){
return;
}

SafeArrayAccessData(psa, (LPVOID*)&pPostData);
memcpy(pPostData, cszPostData, cElems);
SafeArrayUnaccessData(psa);

V_VT(pvPostData) = VT_ARRAY | VT_UI1;
V_ARRAY(pvPostData) = psa;
}

CppWebBrowser-> Navigate((TVariant)sURL, &vFlags, &vTargetFrameName, &vPostData, &vHeaders);
}


/////////////////////////////////////////////
void __fastcall TForm1::Button1Click(TObject *Sender)
{

WebPostData(cie1, "http://www.csdn.net ", "Referer: http://www.baicu.com\r\n ");
}

但是这样等于访问不行。是什么原因?

[解决办法]
up

读书人网 >C++ Builder

热点推荐