找回密码
 立即注册
搜索
查看: 20996|回复: 0

[验证开发] API接口请求示例:C、C#、PHP、Curl、JAVA、Python、R、URL-GET等

[复制链接]
发表于 2021-2-24 17:26:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
接口调用实例
用户登录(初始化)
提交地址:
  1. http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo&password=demo
复制代码
提交参数
参数名
类型
必填
说明
限制
示例
key
[string]
传输密钥(后台设置)

123456
action
[string]
接口方法

login_user
username
[string]
用户名,根据$isuid值对应输入(用户名、用户ID、用户邮箱)

demo
password
[string]
密码

demo
questionid
[string]
问题id(1-7)提示问题顺序为1=母亲叫什么名字,后面2、3、4、5以此类推


answer
[string]
问题答案


isuid
[string]
用户名登录类型(1->使用用户ID登录,2->使用用户  E-mail登录;0->(默认值) 使用用户名登录)



URL-GET提交实例
用户登录(初始化)
  1. ##直接在网页地址栏输入即可
  2. http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo&password=demo
复制代码

Curl提交实例
用户登录(初始化)
  1. #Curl
  2. curl "http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo&password=demo"
复制代码

PHP提交实例
用户登录(初始化)
  1. #PHP
  2. //接口请求Key,可以在后台设置
  3. $key = "123456";
  4. //根据接口文档设置参数信息。
  5. $url = "http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login";
  6. $params = [
  7.     "action" => "login_user",
  8.     "key" => $key,
  9.     "username" => "demo",
  10.     "password" => "demo",
  11. ];
  12. $paramstring = http_build_query($params);
  13. $content = juheHttpRequest($url, $paramstring, 1);
  14. $result = json_decode($content, true);
  15. if ($result['code'] == 200) {
  16.         exit($content);
  17.     }elseif($result['code'] == 400){
  18.         exit($content);
  19.     }else{
  20.         exit("请求失败");
  21. }
  22. /**
  23. * 请求接口返回内容
  24. * @param string $url [请求的URL地址]
  25. * @param string $params [请求的参数]
  26. * @param int $ipost [是否采用POST形式]
  27. * @return  string
  28. */
  29. function juheHttpRequest($url, $params = false, $ispost = 0)
  30. {
  31.     $httpInfo = array();
  32.     $ch = curl_init();
  33.     curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
  34.     curl_setopt($ch, CURLOPT_USERAGENT, 'XinxiuData');
  35.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
  36.     curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  37.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  38.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  39.     if ($ispost) {
  40.         curl_setopt($ch, CURLOPT_POST, true);
  41.         curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  42.         curl_setopt($ch, CURLOPT_URL, $url);
  43.     } else {
  44.         if ($params) {
  45.             curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
  46.         } else {
  47.             curl_setopt($ch, CURLOPT_URL, $url);
  48.         }
  49.     }
  50.     $response = curl_exec($ch);
  51.     if ($response === FALSE) {
  52.         //echo "cURL Error: " . curl_error($ch);
  53.         return false;
  54.     }
  55.     $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  56.     $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
  57.     curl_close($ch);
  58.     return $response;
  59. }
复制代码

JAVA提交实例
用户登录(初始化)
  1. #JAVA
  2. import java.net.*;
  3. import java.io.*;
  4. public class test{
  5.     public static void main(String args[]) throws Exception {
  6.         URL u=new URL("http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456
  7. &action=login_user&username=demo&password=demo");
  8.         InputStream in=u.openStream();
  9.         ByteArrayOutputStream out=new ByteArrayOutputStream();
  10.         try {
  11.             byte buf[]=new byte[1024];
  12.             int read = 0;
  13.             while ((read = in.read(buf)) > 0) {
  14.                 out.write(buf, 0, read);
  15.             }
  16.         }  finally {
  17.             if (in != null) {
  18.                 in.close();
  19.             }
  20.         }
  21.         byte b[]=out.toByteArray( );
  22.         System.out.println(new String(b,"utf-8"));
  23.     }
  24. }
复制代码

python提交实例
用户登录(初始化)
  1. #python
  2. import json,urllib
  3. from urllib import urlencode
  4. url = 'http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login'
  5. params = {
  6.   'action' : 'login_user',
  7.   'key' : '123456',
  8.   'username' : 'demo',
  9.   'password' : 'demo',
  10. }
  11. params = urlencode(params)
  12. f = urllib.urlopen('%s?%s' % (url, params))
  13. api_call = f.read()
  14. #print content
  15. a_result = json.loads(api_call)
  16. if a_result['code'] == '200':
  17.   print api_call;
  18. elseif a_result['code'] == '400':
  19.   print api_call;
  20. else:
  21.   print '请求失败';
复制代码

GO提交实例
用户登录(初始化)
[C] 纯文本查看 复制代码
package main

import (
        "fmt"
        "io/ioutil"
        "log"
        "net/http"
)

func main() {
        client := &http.Client{}
        req, err := http.NewRequest("GET", "http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo5&password=demo5", nil)
        if err != nil {
                log.Fatal(err)
        }
        req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
        resp, err := client.Do(req)
        if err != nil {
                log.Fatal(err)
        }
        bodyText, err := ioutil.ReadAll(resp.Body)
        if err != nil {
                log.Fatal(err)
        }
        fmt.Printf("%s\n", bodyText)
}

Node提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
var request = require('request');

var headers = {
    'Content-Type': 'application/x-www-form-urlencoded'
};

var options = {
    url: 'http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo5&password=demo5',
    headers: headers
};

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);

JavaScript提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
var myHeaders = new Headers();
myHeaders.append("User-Agent", "Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])");
myHeaders.append("Accept", "*/*");
myHeaders.append("Host", "demo35.xinxiuvip.com");
myHeaders.append("Connection", "keep-alive");
myHeaders.append("Cookie", "MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864");

var requestOptions = {
   method: 'GET',
   headers: myHeaders,
   redirect: 'follow'
};

fetch("http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo", requestOptions)
   .then(response => response.text())
   .then(result => console.log(result))
   .catch(error => console.log('error', error));

Swift提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif

var semaphore = DispatchSemaphore (value: 0)

var request = URLRequest(url: URL(string: "http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo")!,timeoutInterval: Double.infinity)
request.addValue("Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])", forHTTPHeaderField: "User-Agent")
request.addValue("*/*", forHTTPHeaderField: "Accept")
request.addValue("demo35.xinxiuvip.com", forHTTPHeaderField: "Host")
request.addValue("keep-alive", forHTTPHeaderField: "Connection")
request.addValue("MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864", forHTTPHeaderField: "Cookie")

request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
   guard let data = data else {
      print(String(describing: error))
      semaphore.signal()
      return
   }
   print(String(data: data, encoding: .utf8)!)
   semaphore.signal()
}

task.resume()
semaphore.wait()

C提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
   curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
   curl_easy_setopt(curl, CURLOPT_URL, "http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo");
   curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
   curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
   struct curl_slist *headers = NULL;
   headers = curl_slist_append(headers, "User-Agent: Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])");
   headers = curl_slist_append(headers, "Accept: */*");
   headers = curl_slist_append(headers, "Host: demo35.xinxiuvip.com");
   headers = curl_slist_append(headers, "Connection: keep-alive");
   headers = curl_slist_append(headers, "Cookie: MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864");
   curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
   res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);

C#提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
var client = new RestClient("http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
client.UserAgent = "Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])";
request.AddHeader("Accept", "*/*");
request.AddHeader("Host", "demo35.xinxiuvip.com");
request.AddHeader("Connection", "keep-alive");
request.AddHeader("Cookie", "MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Ruby提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
require "uri"
require "net/http"

url = URI("http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["User-Agent"] = "Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])"
request["Accept"] = "*/*"
request["Host"] = "demo35.xinxiuvip.com"
request["Connection"] = "keep-alive"
request["Cookie"] = "MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864"

response = http.request(request)
puts response.read_body

OCaml提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
open Lwt
open Cohttp
open Cohttp_lwt_unix

let reqBody = 
   let uri = Uri.of_string "http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo" in
   let headers = Header.init ()
      |> fun h -> Header.add h "User-Agent" "Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])"
      |> fun h -> Header.add h "Accept" "*/*"
      |> fun h -> Header.add h "Host" "demo35.xinxiuvip.com"
      |> fun h -> Header.add h "Connection" "keep-alive"
      |> fun h -> Header.add h "Cookie" "MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864"
   in
   Client.call ~headers `GET uri >>= fun (_resp, body) ->
   body |> Cohttp_lwt.Body.to_string >|= fun body -> body

let () =
   let respBody = Lwt_main.run reqBody in
   print_endline (respBody)

Dart提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
var headers = {
   'User-Agent': 'Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])',
   'Accept': '*/*',
   'Host': 'demo35.xinxiuvip.com',
   'Connection': 'keep-alive',
   'Cookie': 'MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864'
};
var request = http.Request('GET', Uri.parse('http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo'));

request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
   print(await response.stream.bytesToString());
}
else {
   print(response.reasonPhrase);
}

R 提交实例
用户登录(初始化)
[PHP] 纯文本查看 复制代码
library(httr)

headers = c(
   'User-Agent' = 'Apifox/1.0.0 ([url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url])',
   'Accept' = '*/*',
   'Host' = 'demo35.xinxiuvip.com',
   'Connection' = 'keep-alive',
   'Cookie' = 'MIYB_2132_saltkey=eRSG43Kb; MIYB_2132_lastvisit=1706621745; MIYB_2132_sid=fl3PuU; MIYB_2132_lastact=1706625345%09plugin.php%09; MIYB_2132_microtime=1706625345.6864'
)

res <- VERB("GET", url = "http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:login&key=123456&action=login_user&username=demo&password=demo", add_headers(headers))

cat(content(res, 'text'))
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|新秀网络验证系统API ( 豫ICP备2021033257号-1 )

GMT+8, 2024-3-29 10:26 , Processed in 0.213008 second(s), 65 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表