API接口请求示例:C、C#、PHP、Curl、JAVA、Python、R、URL-GET等
接口调用实例
用户登录(初始化)
提交地址:
http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo&password=demo
提交参数
参数名类型必填说明限制示例
key是传输密钥(后台设置)
123456
action是接口方法
login_user
username是用户名,根据$isuid值对应输入(用户名、用户ID、用户邮箱)
demo
password是密码
demo
questionid否问题id(1-7)提示问题顺序为1=母亲叫什么名字,后面2、3、4、5以此类推
answer否问题答案
isuid否用户名登录类型(1->使用用户ID登录,2->使用用户E-mail登录;0->(默认值) 使用用户名登录)
URL-GET提交实例
用户登录(初始化)
##直接在网页地址栏输入即可
http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo&password=demo
Curl提交实例
用户登录(初始化)
#Curl
curl "http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456&action=login_user&username=demo&password=demo"
PHP提交实例
用户登录(初始化)
//接口请求Key,可以在后台设置
$key = "123456";
//根据接口文档设置参数信息。
$url = "http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login";
$params = [
"action" => "login_user",
"key" => $key,
"username" => "demo",
"password" => "demo",
];
$paramstring = http_build_query($params);
$content = juheHttpRequest($url, $paramstring, 1);
$result = json_decode($content, true);
if ($result['code'] == 200) {
exit($content);
}elseif($result['code'] == 400){
exit($content);
}else{
exit("请求失败");
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @returnstring
*/
function juheHttpRequest($url, $params = false, $ispost = 0)
{
$httpInfo = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_USERAGENT, 'XinxiuData');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if ($ispost) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_URL, $url);
} else {
if ($params) {
curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
} else {
curl_setopt($ch, CURLOPT_URL, $url);
}
}
$response = curl_exec($ch);
if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$httpInfo = array_merge($httpInfo, curl_getinfo($ch));
curl_close($ch);
return $response;
}
JAVA提交实例
用户登录(初始化)
#JAVA
import java.net.*;
import java.io.*;
public class test{
public static void main(String args[]) throws Exception {
URL u=new URL("http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login&key=123456
&action=login_user&username=demo&password=demo");
InputStream in=u.openStream();
ByteArrayOutputStream out=new ByteArrayOutputStream();
try {
byte buf[]=new byte;
int read = 0;
while ((read = in.read(buf)) > 0) {
out.write(buf, 0, read);
}
}finally {
if (in != null) {
in.close();
}
}
byte b[]=out.toByteArray( );
System.out.println(new String(b,"utf-8"));
}
}
python提交实例
用户登录(初始化)
#python
import json,urllib
from urllib import urlencode
url = 'http://demo.xinxiuvip.com/plugin.php?id=xinxiu_network:login'
params = {
'action' : 'login_user',
'key' : '123456',
'username' : 'demo',
'password' : 'demo',
}
params = urlencode(params)
f = urllib.urlopen('%s?%s' % (url, params))
api_call = f.read()
#print content
a_result = json.loads(api_call)
if a_result['code'] == '200':
print api_call;
elseif a_result['code'] == '400':
print api_call;
else:
print '请求失败';
GO提交实例
用户登录(初始化)
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提交实例
用户登录(初始化)
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提交实例
用户登录(初始化)
var myHeaders = new Headers();
myHeaders.append("User-Agent", "Apifox/1.0.0 (http://www.xinxiuvip.com/)");
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提交实例
用户登录(初始化)
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 (http://www.xinxiuvip.com/)", 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提交实例
用户登录(初始化)
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 (http://www.xinxiuvip.com/)");
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#提交实例
用户登录(初始化)
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 (http://www.xinxiuvip.com/)";
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提交实例
用户登录(初始化)
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 (http://www.xinxiuvip.com/)"
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提交实例
用户登录(初始化)
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 (http://www.xinxiuvip.com/)"
|> 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提交实例
用户登录(初始化)
var headers = {
'User-Agent': 'Apifox/1.0.0 (http://www.xinxiuvip.com/)',
'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 提交实例
用户登录(初始化)
library(httr)
headers = c(
'User-Agent' = 'Apifox/1.0.0 (http://www.xinxiuvip.com/)',
'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'))
页:
[1]