如何實現Punycode中文域名轉碼

如果你見過中文域名應該會覺得很奇怪,為什么復制出來的域名變成一個很莫名其妙的字符串,比如這個秀恩愛的域名“郝越.我愛你”,實際顯示的域名是 http://xn--vq3al9d.xn--6qq986b3xl/ 這就叫 Punycode 具體查看 https://www.punycoder.com/

Punycode 是一個根據 RFC 3492 標準而制定的編碼系統,主要用于把域名從地方語言所采用的 Unicode 編碼轉換成為可用於 DNS 系統的編碼。郝越.我愛你域名不是常規的字符,所以域名機構規定把他 轉碼成了 http://xn--vq3al9d.xn--6qq986b3xl/ 類似的還有 āáǎà.com 轉碼成了 xn--0cab9g30b.com/

在百度搜索“中文域名轉碼”,進入在線編碼的網站,提交中文域名,即可將中文域名轉為 punycode 或者是 GBK 編碼。在 nginx 配置文件中使用:

?

//參考https://blog.zhengxianjun.com/2015/05/chinese-domain-and-nginx-conf/

server {

listen 80;

server_name xn--vq3al9d.xn--6qq986b3xl;

index index.php;

root /alidata/www/love;

}

?

在 PHP 中可以使用如下方法轉換

?

#sudo apt-get install php5-intl

$xn_idn = idn_to_ascii('郝越.我愛你');

echo $xn_idn; // xn--vq3al9d.xn--6qq986b3xl

$idn = idn_to_utf8($xn_idn);

echo $idn; // 郝越.我愛你

?

如果不用擴展,可以使用 true/punycode 包 https://github.com/true/php-punycode 安裝 composer require true/punycode:~2.0

?

// Import Punycode

use TrueBV\Punycode;

$Punycode = new Punycode();

var_dump($Punycode->encode('renangon?alves.com'));

// outputs: xn--renangonalves-pgb.com

var_dump($Punycode->decode('xn--renangonalves-pgb.com'));

// outputs: renangon?alves.com

?

然后推薦一個阿里出品的 AnyProxy ,它是一個開放式的HTTP代理服務器,平常除了 fiddler 抓包,這個也很方便。

使用方法如下:

?

node.js通過npm install -g anyproxy 安裝AnyProxy 啟用https代理

$ anyproxy -i --rule=wxdumpchange_score/wxdump.js

[AnyProxy Log][2018-02-27 11:12:46]: Http proxy started on port 8001

[AnyProxy Log][2018-02-27 11:12:46]: web interface started on port 8002

?

移動端通過wifi代理啟用anyproxy的服務器的ip,端口默認為8001

移動端要安裝證書才能使用,不然無法攔截https請求 然后移動端通過瀏覽器進入 ip:8002 點擊下載crt證書 進行安裝

ios要在設置 通用 關于本機 最下面的證書信任里面吧anyproxy打開

?

最后測試下 curl http://httpbin.org/user-agent --proxy http://127.0.0.1:8001 瀏覽器訪問http://127.0.0.1:8002 ,界面上能看到剛才的請求信息

轉載于:https://www.cnblogs.com/ymwang/p/8610534.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453219.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453219.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453219.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

進程控制塊包含的信息

進程控制塊包含三類信息 1.標識信息。 用于唯一地標識一個進程,常常分由用戶使用的外部標識符和被系統使用的內部標識號。幾乎所有操作系統中進程都被賦予一個唯一的、內部使用的數值型的進程號,操作系統的其他控制表可以通過進程號來交叉引用進程控制…

增加表單的文字段的html的代碼是,表單及表單新增元素(示例代碼)

要想更好運用表單就要了解表單的的更多元素與屬性,首先看看對表單基本了解。表單的基本了解 元素用于用戶輸入數據的收集元素是最重要的表單元素,有許多type其中是用于向表單處理程序提交表單的按鈕。元素 元素定義待選擇的下拉列表選項,元素…

給博客或站點加入百度統計

概述 記得剛接觸百度統計的時候,苦于沒有個人網站,不能加入統計代碼查看訪問量等數據。然后漸漸的忘了這件事。之前看別人博客中提及了百度統計,然后粗略的看了一下加入方法,覺得很驚喜,太簡單了! 加入方法…

項目規劃管理

項目規劃管理 - 1 項目規劃是預測未來,確定要達到的目標,估計會碰到的問題,并提出實現目標、解決問題的有效方案、方針、措施和手段的過程。( 摘自百度百科) 大家應該都看過不少美國大片,是否記得很多片子里,特別是偷…

進程控制塊組織方式

進程控制塊PCB的組織方式1)線性表方式:不論進程的狀態如何,將所有的PCB連續地存放在內存的系統區。這種方式適用于系統中進程數目 不多的情況。2)索引表方式:該方式是線性表方式的改進,系統按照進…

android9叫什么名字,白猜這么多名字!谷歌Android 9.0正式發布:命名Android Pie

日前,谷歌對外公布了Android P的beta版,并向索尼Xperia XZ2、小米Mi Mix 2S、諾基亞7 Plus、Oppo R15 Pro、Vivo X21、一加6和Essential PH-1開放測試。今天,谷歌終于宣布正式發布Android 9.0的正式版本。據外媒GSMArena報道,今天…

靜態鏈接與動態鏈接

靜態鏈接是指把要調用的函數或者過程直接鏈接到可執行文件中,成為可執行文件的一部分。也就是函數和過程的代碼就在程序的可執行文件中,可執行文件包含了運行時所需的全部代碼。動態鏈接是指所調用的函數代碼并沒有被拷貝到應用程序的可執行文件中去&…

OpenCV 編程簡介(矩陣/圖像/視頻的基本讀寫操作)

PS. 由于csdn博客文章長度有限制,本文有部分內容被截掉了。 在OpenCV中文網站的wiki上有可讀性更好、并且是完整的版本,歡迎瀏覽。 OpenCV Wiki :《OpenCV 編程簡介(矩陣/圖像/視頻的基本讀寫操作)》 Introduction to…

再送一波干貨,測試2000線程并發下同時查詢1000萬條數據庫表及索引優化

原文:再送一波干貨,測試2000線程并發下同時查詢1000萬條數據庫表及索引優化繼上篇文章《絕對干貨,教你4分鐘插入1000萬條數據到mysql數據庫表,快快進來》發布后在博客園首頁展示得到了挺多的閱讀量,我這篇文章就是對上篇文章的千萬…

同步機制遵循的原則

進程在并發執行時為了保證結果的可再現性,各進程執行序列必須加以限制以保證互斥地使用臨界資源,相互合作完成任務。多個相關進程在執行次序上的協調稱為進程同步。用于保證多個進程在執行次序上的協調關系的相應機制稱為進程同步機制。 所有的進程同步機…

wps html編輯表格,WPS 2017個人版演示word使用技巧(wps2017表格使用技巧)

wps2017是一款非常深受用戶喜愛的辦公軟件。在2017這個新的版本中,依舊繼承了它之前兼容免費、體積小、多種界面切換、云辦公等眾多優秀的功能特點,下面小編就來教大家wps2017的使用方式使用技巧:一、wps2017個人版word使用技巧技巧一&#x…

ubuntu 解決“無法獲得鎖 /var/lib/dpkg/lock -open (11:資源暫時不可用)”的方法...

在ubuntu系統的termial下,用apt-get install 安裝軟件的時候,如果在未完成下載的情況下將terminal close。此時 apt-get進程可能沒有結束。結果,如果再次運行apt-get install 命令安裝如今,可能會發生下面的提示:無法獲…

es Update API

2019獨角獸企業重金招聘Python工程師標準>>> es Update API 博客分類: 搜索引擎,爬蟲 The update API allows to update a document based on a script provided. The operation gets the document (collocated with the shard) from the ind…

聰明人,容易不務實

聰明人擁有很多優勢。首先,聰明人的邏輯強、思路靈活,理解事物很快,因而經常很有創意。聰明人本身,也因為經常感覺到自己「快速理解、時有創意」的特質,認為沒有什么事情難得倒他。漸漸的,在看待任何事物時…

Linux 線程占用CPU過高定位分析

今天朋友問我一個Linux程序CPU占用漲停了&#xff0c;該如何分析&#xff0c; CPU占用過高&#xff0c;模擬CPU占用過高的情況 先上一段代碼&#xff1a; 1 #include <iostream>2 #include <thread>3 #include <vector>4 5 6 int main(int argc, char **argv…

計算機二級常備知識,2020年計算機二級Office考試必備題庫資料!

考試資料在手&#xff0c;考試不用愁&#xff01;領報名界面顯示計算機二級Office通過率僅21.07%&#xff0c;很多人認為是既費腦子又費時間的考試&#xff0c;可能是方法不對&#xff0c;導致花了很多時間還是考不過&#xff0c;剛剛收到3月考的二級證書啦&#xff0c;馬上還有…

MR作業的提交監控、輸入輸出控制及特性使用

2019獨角獸企業重金招聘Python工程師標準>>> MR作業的提交監控、輸入輸出控制及特性使用 博客分類&#xff1a; hadoop 提交作業并監控 JobClient是用戶作業與JobTracker交互的主要接口&#xff0c;它提供了提交作業&#xff0c;跟蹤作業進度、訪問任務報告及logs、…

ACK和NAK

ACK 英文縮寫: ACKnowledge Character在數據通信傳輸中&#xff0c;接收站發給發送站的一種傳輸控制字符。它表示確認發來的數據已經接受無誤。 NAK 英文縮寫: Negative Acknowledgment是否定應答或者非應答的縮寫。它是一個用于數字通信中確認數據受到但是有小錯誤的信號。

http協議與web本質

當你在瀏覽器地址欄敲入“http://www.csdn.net/”&#xff0c;然后猛按回車&#xff0c;呈現在你面前的&#xff0c;將是csdn的首頁了&#xff08;這真是廢話&#xff0c;你會認為這是理所當然的&#xff09;。作為一個開發者&#xff0c;尤其是web開發人員&#xff0c;我想你有…