qt中发送http请求

 分类:C++, Others, Qt 阅读 (45)  No Responses »
8月 172018
 

  在QT中发送http请求要使用下面的几个类

  • QNetworkAccessManager – 用于实际发送网络请求
  • QNetworkRequest – 用于构造http请求的内容
  • QNetworkReply – 用于构造http响应的内容

  首先要在项目文件里增加network的支持,在xxx.pro里面加上如下代码

  下面是具体的代码:

  logindialog.h

  logindialog.cpp

 

 

 

 Posted by on 2018-08-17
5月 212018
 

出现这种问题一般是没有找到libxxx.so的库,需要配置系统环境变量LIBRARY_PATH或者LD_LIBRARY_PATH

几种配置系统环境变量的方法:

1. 在命令行中使用export,如

此方法在新建命令行窗口或者切换到其他窗口后,系统环境变量就无效了

2. 在~/.bashrc或者/etc/profile中修改

vi ~/.bashrc #打开编辑bashrc文件

source ~/.bashrc #使bashrc的文件修改立即生效

此方法修改的会永乐有效

 Posted by on 2018-05-21
4月 252018
 

sockaddr和sockaddr_in两者本质上是一样的,同样的结构,同样的大小,只是sockaddr用于bind, connect时传入参数,而sockaddr_in用于设置端口信息等.所在在使用的时候两者可以互相转化.

 Posted by on 2018-04-25
1月 182018
 

  C++出现: 1 duplicate symbol for architecture x86_64可能的问题如下:

  1. 你可能在一个头文件中定义了一个变量或者函数,但是这个头文件被多个cpp文件include了
  2. 你可能把一个静态变量(static)定义了多次
  3. 你可能在一个cpp文件中将一个函数定义了多次

  可以查看详细的错误信息,看看是哪个变量或者函数被重复定义了。

  本人这此遇到此问题是因为把一个静态变量的定义放在头文件里了,应该放到cpp文件里就没问题了。

 

 Posted by on 2018-01-18
1月 222017
 

  如果按ctrl+c时未做一些处理 ,可能会造成一些资源未释放,比如网络端口被占用。

  捕获ctrl+c需要使用c库的signal函数,具体代码如下:

  输出结果:

 

 Posted by on 2017-01-22
1月 172017
 

  本文为了说明基类和派生类的构造函数的声明和使用,主要是以下几点:

  1. 派生类所有构造函数都会默认调用基本的默认构造函数(没有参数的构造函数,如Base())
  2. 派生类如果想显示的调用基类的带参数的构造函数,要在派生类的初始化器处调用,而不能在构造函数的实现里调用(即不能在花括号里调用{})

  示例代码如下:

  输出结果如下:

 

 Posted by on 2017-01-17
5月 052016
 

1. vector转数组: 使用memcpy将vector中的数据拷贝到数组中

注意: memcpy的第三个参数,拷贝长度必须乘以sizeof(vec[0])

2. 数组转vector:使用vector的初始化构造函数

注意:这个版本的vector的构造函数,第一个参数为源数据的指针起始地址,第二个参数为要拷贝的个数(不是内存字节长度),所以要除以一个sizeof(int)

 

 Posted by on 2016-05-05