私はURLを格納するjavascript変数を持っています。いくつかの操作を行うためにURLをバックエンドに送る必要があります.URLに特殊文字が含まれる可能性があるため、問題を避けるために16進数に変換します。バックエンドのコードは私のものではなく、コードを見ることさえできません。バックエンドで使用されている文字エンコーディングはどれですか?
IPで試したときにエンコードがうまくいきました。たとえば、JavaScriptで '192.168.1.1'を送信したい場合は、 '3139322e3136382e312e31'にエンコードし、バックエンドは完全に理解します。
問題は、ドメインを試してから、そのバックエンドが期待しているものと、送信したものが一致しない場合です。 JavaScriptで 'cstmal'を送信する場合は、 '6373746d616c'にエンコードしますが、サーバーは '7066677A6e79'を待機します。
どうしたのですか?私はたくさん見ましたが、私は答えを見つけることができません。
私は、エンコードに使うコードは次のとおりです。要するに
function encode(str) {
var result = "";
for (var i = 0; i < str.length; i++) {
result += str.charCodeAt(i).toString(16);
}
return result;
}
、あなたはこの結果を与えるもの、文字変換知っていますか:
C = 70
S = 66
トン= 67
を m = 7A
a = 6E
l = 79
ありがとうございました!
サーバーが待機していることをどのように知っていますか?私はそれがあなたがエンコーディングしていると思う文字の実際のエンコーディングだと真剣に疑っています。 – Pointy
作成操作を行うと、ドメインが変換されたBDでリンクが作成されます。そこに私は彼らが何をしているかを見ます。 –