网络编程随笔

原创 2016年08月30日 21:28:20

最近做一个项目,要用到http相关方面的东西,感觉有点坑。坑不坑大家随我来看看。

坑:

try{
       char * l_strUrl = "http://server/manger/Authorize?method=get";
       CInternetSession l_cSess("GetJson");
       CHttpFile *pF = (CHttpFile *) l_cSession.OpenURL((LPCTSTR)l_strUrl );//异常跳走
       DWORD l_dwStatus;
       pF->QueryInfoStatusCode(l_dwStatus);
      //剩下的代码
}
cathc(CInternetException *e)
{
      m_dwErrCode = e->m_dwError;     //12006
     //.........
}

第一感觉代码有问题的又哪位牛人?有,请收下我的膝盖. CInternetExcepttion 12006异常。what fuck。url格式不对?我表示吐血,此url通过postman和 httprequester测试完全没有问题。防火墙?NO,我肯定的告诉你NO,使用了这个接口的另一个程序在我电脑上完全没有问题。我最后都尝试把它——URL改成https://这种格式。无意中走了接近真相的第一步,

try{
       CSting l_strUrl("http://server/manger/Authorize?method=get");
       CInternetSession l_cSess("GetJson");
       CHttpFile *pF = (CHttpFile *) l_cSession.OpenURL(l_strUrl );
       DWORD l_dwStatus;
       pF->QueryInfoStatusCode(l_dwStatus);
      //剩下的代码
}
cathc(CInternetException *e)
{
      m_dwErrCode = e->m_dwError;     
     //.........
}
貌似不报12006了,可是接下来的错误时12307,我再次fuck了。但是这个告诉我一件事:方向对了。这个代码折腾了3小时,依稀记得半年前写过类似的,不要CString用char*当参数是没有问题的。翻出半年前的代码,还真行。接下来就是那一步出了问题,先花了10分钟排除了头文件的问题,剩下的就是什么——字符集问题了,我当时只能想到这个了。打开工程的属性-》配置属性-》常规-》字符集,还真是,为什么默认的是Uniconde字符集?改完了。参数改会了char*也没有了12006了,也不需要强制类型转换了。可是还是12307,对不是12306是12307。百度谷歌都没有网友碰到过。还好msdn上有错误描述:SSL certificate date that was received from the server is
bad. The certificate is expired.

我发誓,我真的很常见这个鬼问题,但是你要我现在想我还真没有想出来。折腾了2个小时,突然想到:用过谷歌访问百度的时候不就是这个鬼东西吗。突然反应过来,url连接我在第一步调试的时候该成了https://,就是那一步脑残的操作,浪费我一天的时间。12006网络上说 url地址格式不对,缺少http://。折腾半天是字符集。12307 SSL是坏的,我了个去。不想多说了。先让我出坑吧。

相关文章推荐

java网络编程(5):SMTP

第0章:简介         SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP...

java 网络编程 Tcp和UDP 的使用

网络基础知识 计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。 ...

C++ 用libcurl库进行http通讯网络编程

目录索引: 一、LibCurl基本编程框架 二、一些基本的函数 三、 curl_easy_setopt函数部分选项介绍 四、 curl_easy_perform 函数说明(error 状态...

java网络编程____ftp工具类操作

package com.genomics.ib.item.control; import java.io.File; import java.io.FileInputStream; ...

Java网络编程 - 浅析web服务器与浏览器的实现原理

我们基本每天都在通过WEB浏览器,去浏览一些新闻,看看视频之类的。 众所周知,这就是所谓的B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB...

Boost.Asio c++ 网络编程翻译(6)

io_service类 你应该已经发现大部分使用Boost.Asio编写的代码都会使用几个ios_service的实例。ios_service是这个库里面最重要的类;它负责和操作系统打交道,等待所有异...
  • mmoaay
  • mmoaay
  • 2014年09月23日 08:52
  • 2056

Java网络编程从入门到精通(19):套接字(Socket)的异常

转自: http://www.blogjava.net/nokiaguy/archive/2009/05/archive/2009/05/archive/2009/05/archive/2009/0...
  • DADADIE
  • DADADIE
  • 2015年04月16日 16:54
  • 948

Linux网络编程:TCP服务器(单进程多用户),使用select方法实现

Linux下的单进程多用户TCP服务器,采用select方法实现。 [cpp] view plaincopy /**************************************...

CRC校验详解及其在网络编程中的应用

基本概念 CRC(Cyclic Redundancy Check,循环冗余校验),其实是个很古老的数据校验方法了,记得以前大学和课程都对其进行了介绍,其校验准确度较之普通的奇偶校验、校验和等方法更高,...

socket网络编程之一:客户端和服务器端接口函数

以下为winsock。  1. socket网络编程分为客户端和服务器端,客户端发送请求,服务器端进行应答;      建立连接时,服务器端绑定端口监听(bind&listen),客户端发...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网络编程随笔
举报原因:
原因补充:

(最多只允许输入30个字)