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会更简单...
  • 相关阅读:
    Codeforces Round #604(Div. 2,
    简单的三层框架以及使用dbutils进行数据库操作(入门)
    DBUtil数据库工具封装
    GUI 中监听 文本框实时改变的实例
    java基础教程GUI
    Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合
    计算器代码
    记事本应用程序java源代码
    GUI
    dbutils开源项目用法
  • 原文地址:https://www.cnblogs.com/ysherlock/p/7822294.html
Copyright © 2011-2022 走看看