当前位置:  技术问答>linux和unix

url编码的问题。

    来源: 互联网  发布时间:2016-11-05

    本文导语:  我用c++写了一个自动发送请求的程序。 //请求头 CString boundary = "----WebKitFormBoundaryZVqWse5n5jI83Nms"; renren_header.Empty(); renren_header += _T("Host: msg.renren.comrn") ; renren_header += _T("Accept: application/xml,application/xhtml+xml,text/ht...

我用c++写了一个自动发送请求的程序。
//请求头
CString boundary = "----WebKitFormBoundaryZVqWse5n5jI83Nms";
renren_header.Empty();
renren_header += _T("Host: msg.renren.comrn") ;

renren_header += _T("Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5rn") ;
renren_header += _T("Accept-Language: zh-cnrn") ;
renren_header += _T("User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)rn") ;
renren_header += _T("Accept-Encoding: gzip,deflate,sdchrn");

renren_header += _T("Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3rn");
renren_header += _T("Origin: http://msg.renren.comrn");
renren_header += _T("Connection: Keep-Alivern");

renren_header += (_T("Content-Type: multipart/form-data; boundary=") + boundary + ("rn"));
renren_header += _T("Cache-Control: max-age=0rn");
renren_header += _T("Referer: http://msg.renren.com/message/compose.do?ref=trn");




//g_biz 
g_biz = "949_8000848107201560600";
CString _friend_name = "%E5%BC%A0%E5%BA%86";
//types
strFormData.Empty();

strFormData += (("--") + boundary + ("rn"));  //first boundary
#if 1
strFormData += (_T("Content-Disposition: form-data; name="types[]"rnrn0"));
//ids
strFormData += ("rn--")+  boundary +("rn");  // boundary
#endif 
strFormData += (_T("Content-Disposition: form-data; name="ids[]"rnrn") + _friend_id); 
#if 1
//names
strFormData += ("rn--")+  boundary +("rn");  // boundary
strFormData += (_T("Content-Disposition: form-data; name="names[]"rnrn") + _friend_name); 

//emails
strFormData += ("rn--") + boundary +("rn");  // boundary
strFormData += (_T("Content-Disposition: form-data; name="emails[]"rnrn")); 
#endif
//etypes
strFormData += ("rn--") + boundary +("rn");  // boundary
strFormData += (_T("Content-Disposition: form-data; name="etypes[]"rnrn0") ); 
//subject
strFormData += ("rn--") + boundary +("rn");  //first boundary
strFormData += (_T("Content-Disposition: form-data; name="subject"rnrn") + _subject); //subject
//message
strFormData += ("rn--") + boundary +("rn");  //boundary
strFormData += (_T("Content-Disposition: form-data; name="message"rnrn") + _status); 
#if 1
//biz
strFormData += ("rn--") + boundary +("rn");  //boundary
strFormData += (_T("Content-Disposition: form-data; name="biz"rnrn") + g_biz); 
#endif
//requestToken  get_check截取到的内容是这个token
strFormData += ("rn--") + boundary +("rn");  //boundary
strFormData += (_T("Content-Disposition: form-data; name="requestToken"rnrn") + g_get_check ); 

printf("the requestToken:%sn", (LPVOID)(LPCTSTR)g_get_check);

strFormData +=("rn--") + boundary +("--rn");  //boundary
try
{
strObject=_T("/message/send.do");
//strObject +=_T("&origURL=http%3A%2F%2Fmsg.renren.com%2Fmessage%2Fcompose.do%3Fref%3Dt");
//pServer = g_Session_HG.GetHttpConnection(strServer,nPort); 
g_pFile = g_pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST ,strObject);


g_pFile->SendRequest(renren_header,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
//pFile->SendRequest(renren_header,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
}
catch(CInternetException *e)
{
char error[127];
e->GetErrorMessage(error,127);
return false;
}
tem_lineBuf.Empty();
g_pFile->ReadString(tem_lineBuf);

请求的内容是所有的汉字必须以url编码的形式提交,例如,不知道怎么转啊,不知道啊

|
参考http://meyerweb.com/eric/tools/dencoder/

|
参考  http://ynhu33.blog.51cto.com/412835/405174
    与 http://www.micronsky.com/2008/07/linux-shell-encode-url/

可以看下od的实现,或者直接使用下这个工具
...

    
 
 

您可能感兴趣的文章:

  • 浏览器自动转换URL编码产生乱码问题的解决办法
  • PHP安全的URL字符串base64编码和解码
  • php实现utf-8与gb2312的url编码转换
  • js与php对url编码处理实例
  • 关于js和php对url编码的处理方法
  • 访问编码后的中文URL返回404错误的解决方法
  • java中url汉字编码互相转换实例
  • C++类URL编码和解码使用技巧
  • URL问题(100分)
  • 关于连接数据库的url的问题
  • 请问关于URL的openStream的限制问题!
  • sendRedirect(url)的问题
  • 解决URL中含有-与号-不符合标准问题
  • 在Applet中打开另外的网页,用getAppletContext().showDocument(URL,windowname)的问题
  • weblogic中的url中文参数问题
  • PHP解决URL中文GBK乱码问题的两种方法
  • URL类的代理问题
  • 一个好简单的问题---URL到底是什么?请详细解释一下
  • URL的问题!!!!
  • URL大小写敏感问题
  • Linux下URL请求问题
  • shell 关于一个url触发的问题?
  • 100 分,关于数据库 URL的问题,在线等候!!!
  • JSP中URL的乱码问题!(传递中文)
  • 菜鸟问题,如何得到本网页的url?
  • 简单问题:如何获得当前的URL?
  • 比较菜鸟的问题我怎么在jsp或javabean中得到前面提交过来的那一页的URL
  • 关于war包发布后的url目录问题?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类url的类成员方法: url定义及介绍
  • 请问各位高手,getImage(URL url)中的URL url参数是怎么用的?
  • java命名空间java.net类urlconnection的类成员方法: url定义及介绍
  • URL url=new URL(/tech-qa-linux/"http_/156.66.212.15_8080/djs/servlet/DbServlet"/index.html);这句有什么错误?
  • java命名空间java.net类url的类成员方法: getdefaultport定义及介绍
  • 获取上一页面的URL和本页的URL的方法
  • java命名空间java.net类url的类成员方法: getprotocol定义及介绍
  • 如何防止没有权限的人由于知道url,直接输入url,来察看文件呢?
  • java命名空间java.net类url的类成员方法: samefile定义及介绍
  • 如何根据一个url得到其下url???
  • java命名空间javax.print类docflavor.url的类成员方法: gif定义及介绍
  • jquery 取url参数及在url后添加参数的例子
  • java命名空间javax.print类docflavor.url的类成员方法: postscript定义及介绍
  • 有谁会用linux里面的wget?有一个参数是-i 后面加上url地址文件,我不明白什么叫url地址文件,那位大侠告诉我?
  • java命名空间javax.print类docflavor.url的类成员方法: pdf定义及介绍
  • jquery获取url及url参数的方法
  • java命名空间javax.print类docflavor.url的类成员方法: jpeg定义及介绍
  • 各位高手:本人初学JDBC对各个数据连接时的URL的书写还很模糊,有谁可以提供以下各数据库的连接发,由其是URL的书写。
  • java命名空间javax.print类docflavor.url的类成员方法: png定义及介绍
  • 在配Samba的時候,在windows的網絡芳鄰里能看到電腦名稱,在url里輸入\加IP也能訪問,但是在網絡芳鄰里直接雙擊或是在URL里輸入\加電腦名
  • java命名空间java.net类url的类成员方法: touri定义及介绍
  • java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3