zoukankan      html  css  js  c++  java
  • qt调用simsimi api实现小黄鸡

    项目地址:https://github.com/racaljk/xiaojianji

    好吧我把它命名为小贱鸡.,下面说一说他的实现。


    由于官方的simsimi api需要收费,免费试用版有各种限制,所以这里使用的www.xiaohuangji.com 然后post实现,ui界面有一个lineEdit消息输入框,一个TextEdit来显示,一个pushButton发送消息


    xiaojainji.cpp

    //使用www.xiaohuangji.com进行post
    void xiaojianji::on_pushButton_clicked()
    {
        QString str = ui->lineEdit->text();  
        ui->textEdit->append("我 :" + str+"
    ");   //在textedit显示消息
        ui->lineEdit->clear();    //发送后清除linedit的文字
        QTextCodec *utf8 = QTextCodec::codecForName("utf-8");    
        QByteArray msg = "para=" + utf8->fromUnicode(str).toPercentEncoding();   //最后post msg
        QNetworkRequest request;      
        request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");  //header
        request.setHeader(QNetworkRequest::ContentLengthHeader,msg.length());  
        request.setUrl(QUrl("http://www.xiaohuangji.com/ajax.php"));
        QNetworkReply *reply  = manager->post(request,msg);  //进行post 
    }
    
    void xiaojianji::replyFinished(QNetworkReply *reply)
    {
      if(reply->error() == QNetworkReply::NoError)
      {
          QString out(reply->readAll());  //接受post后的数据
          ui->textEdit->append("小贱鸡 :" + out + "
    ");  //在textedit显示
      }else{
          ui->textEdit->append("小贱鸡 : 好像出了点问题...
    ");
      }
    }

    就这么简单,如果用php会更简单...
  • 相关阅读:
    Android 6.0权限
    从最简单的HelloWorld理解MVP模式
    DataSet、DataTable和DataGridView知识备忘
    Windows 窗体启动和关闭的事件顺序
    VB二进制文件读写
    C#操作符的重载
    虚方法(virtual)和抽象方法(abstract)的区别
    我的前端页面开发js简易有效环境
    css properties
    css属性值语法解读
  • 原文地址:https://www.cnblogs.com/ysherlock/p/7822294.html
Copyright © 2011-2022 走看看