安圣二开设备(开放式硬件)

本项目是安圣信息科技二开设备(开放式硬件)的资料文档,因产品不断迭代,因此资料同步更新,请产看使用最新版本


各语言Basic Auth例子

<p>[TOC]</p> <p><strong>!!!注意:以下例程为AI生成,请自行验证有效性。</strong></p> <h2>Python</h2> <ul> <li>使用 requests 库</li> </ul> <pre><code class="language-python">import requests url = &amp;quot;https://api.example.com/data&amp;quot; auth = (&amp;quot;username&amp;quot;, &amp;quot;password&amp;quot;) data = {&amp;quot;key&amp;quot;: &amp;quot;value&amp;quot;} response = requests.post(url, auth=auth, json=data) print(response.text)</code></pre> <ul> <li>原生 urllib(手动添加头)</li> </ul> <pre><code class="language-python">from urllib.request import Request, urlopen import base64 url = &amp;quot;https://api.example.com/data&amp;quot; credentials = base64.b64encode(b&amp;quot;username:password&amp;quot;).decode(&amp;quot;utf-8&amp;quot;) headers = { &amp;quot;Authorization&amp;quot;: f&amp;quot;Basic {credentials}&amp;quot;, &amp;quot;Content-Type&amp;quot;: &amp;quot;application/json&amp;quot; } data = &amp;#039;{&amp;quot;key&amp;quot;: &amp;quot;value&amp;quot;}&amp;#039;.encode() request = Request(url, data=data, headers=headers, method=&amp;quot;POST&amp;quot;) response = urlopen(request) print(response.read().decode())</code></pre> <h2>JavaScript</h2> <ul> <li>Node.js (使用 axios)</li> </ul> <pre><code class="language-js">const axios = require(&amp;#039;axios&amp;#039;); const url = &amp;#039;https://api.example.com/data&amp;#039;; const auth = { username: &amp;#039;username&amp;#039;, password: &amp;#039;password&amp;#039; }; const data = { key: &amp;#039;value&amp;#039; }; axios.post(url, data, { auth }) .then(response =&amp;gt; console.log(response.data)) .catch(error =&amp;gt; console.error(error));</code></pre> <ul> <li>浏览器环境(Fetch API)</li> </ul> <pre><code class="language-js">const url = &amp;#039;https://api.example.com/data&amp;#039;; const username = &amp;#039;username&amp;#039;; const password = &amp;#039;password&amp;#039;; const headers = new Headers({ &amp;#039;Authorization&amp;#039;: `Basic ${btoa(username + &amp;#039;:&amp;#039; + password)}`, &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039; }); const data = { key: &amp;#039;value&amp;#039; }; fetch(url, { method: &amp;#039;POST&amp;#039;, headers: headers, body: JSON.stringify(data) }) .then(response =&amp;gt; response.json()) .then(data =&amp;gt; console.log(data));</code></pre> <h2>Java(原生 HttpURLConnection)</h2> <pre><code class="language-java">import java.io.*; import java.net.*; import java.util.Base64; public class Main { public static void main(String[] args) throws IOException { String url = &amp;quot;https://api.example.com/data&amp;quot;; String auth = Base64.getEncoder().encodeToString(&amp;quot;username:password&amp;quot;.getBytes()); String data = &amp;quot;{\&amp;quot;key\&amp;quot;: \&amp;quot;value\&amp;quot;}&amp;quot;; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod(&amp;quot;POST&amp;quot;); conn.setRequestProperty(&amp;quot;Authorization&amp;quot;, &amp;quot;Basic &amp;quot; + auth); conn.setRequestProperty(&amp;quot;Content-Type&amp;quot;, &amp;quot;application/json&amp;quot;); conn.setDoOutput(true); try (OutputStream os = conn.getOutputStream()) { os.write(data.getBytes()); } try (BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } } }</code></pre> <ul> <li>Go</li> </ul> <pre><code class="language-Go">package main import ( &amp;quot;bytes&amp;quot; &amp;quot;encoding/base64&amp;quot; &amp;quot;net/http&amp;quot; ) func main() { url := &amp;quot;https://api.example.com/data&amp;quot; username := &amp;quot;username&amp;quot; password := &amp;quot;password&amp;quot; data := []byte(`{&amp;quot;key&amp;quot;: &amp;quot;value&amp;quot;}`) req, _ := http.NewRequest(&amp;quot;POST&amp;quot;, url, bytes.NewBuffer(data)) req.Header.Set(&amp;quot;Content-Type&amp;quot;, &amp;quot;application/json&amp;quot;) req.Header.Set(&amp;quot;Authorization&amp;quot;, &amp;quot;Basic &amp;quot; + base64.StdEncoding.EncodeToString([]byte(username + &amp;quot;:&amp;quot; + password))) client := &amp;amp;http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() }</code></pre> <h2>PHP</h2> <pre><code class="language-php">&amp;lt;?php $url = &amp;#039;https://api.example.com/data&amp;#039;; $data = [&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;value&amp;#039;]; $options = [ &amp;#039;http&amp;#039; =&amp;gt; [ &amp;#039;method&amp;#039; =&amp;gt; &amp;#039;POST&amp;#039;, &amp;#039;header&amp;#039; =&amp;gt; &amp;quot;Authorization: Basic &amp;quot; . base64_encode(&amp;quot;username:password&amp;quot;) . &amp;quot;\r\n&amp;quot; . &amp;quot;Content-Type: application/json\r\n&amp;quot;, &amp;#039;content&amp;#039; =&amp;gt; json_encode($data) ] ]; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); echo $result; ?&amp;gt;</code></pre> <h2>CSharp</h2> <ul> <li>使用 HttpClient(推荐 .NET Core+ 或 .NET 5+)</li> </ul> <p>``` c# using System; using System.Net.Http; using System.Text; using System.Threading.Tasks;</p> <p>class Program { static async Task Main() { var url = &quot;<a href="https://api.example.com/data&quot">https://api.example.com/data&quot</a>;; var username = &quot;username&quot;; var password = &quot;password&quot;; var data = new { key = &quot;value&quot; }; // 匿名对象或自定义类</p> <pre><code> // 创建 HttpClient 并添加认证头 using var client = new HttpClient(); var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($&amp;quot;{username}:{password}&amp;quot;)); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(&amp;quot;Basic&amp;quot;, credentials); // 发送 JSON 数据 var json = System.Text.Json.JsonSerializer.Serialize(data); var content = new StringContent(json, Encoding.UTF8, &amp;quot;application/json&amp;quot;); var response = await client.PostAsync(url, content); var responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); }</code></pre> <p>}</p> <pre><code> - 使用 WebClient(旧版 .NET Framework) ``` c# using System; using System.Net; using System.Text; class Program { static void Main() { var url = &amp;quot;https://api.example.com/data&amp;quot;; var username = &amp;quot;username&amp;quot;; var password = &amp;quot;password&amp;quot;; var data = &amp;quot;{\&amp;quot;key\&amp;quot;:\&amp;quot;value\&amp;quot;}&amp;quot;; using var client = new WebClient(); // 添加认证头 var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($&amp;quot;{username}:{password}&amp;quot;)); client.Headers[HttpRequestHeader.Authorization] = &amp;quot;Basic &amp;quot; + credentials; client.Headers[HttpRequestHeader.ContentType] = &amp;quot;application/json&amp;quot;; var response = client.UploadString(url, &amp;quot;POST&amp;quot;, data); Console.WriteLine(response); } }</code></pre>

页面列表

ITEM_HTML