6
私はいくつかの残りのAPI要求のためにUnity WWWで作業しています。しかし、応答ステータス(テキストとエラーのみを返します)を取得することはサポートしていません。それに対する解決策はありますか?ありがとう!Unity WWW応答ステータスコードを取得
私はいくつかの残りのAPI要求のためにUnity WWWで作業しています。しかし、応答ステータス(テキストとエラーのみを返します)を取得することはサポートしていません。それに対する解決策はありますか?ありがとう!Unity WWW応答ステータスコードを取得
編集:私はこの質問をして以来、UnityはUnityWebRequestというHTTP通信用の新しいフレームワークをリリースしました。 WWWよりもはるかに現代的であり、ヘッダー、HTTP動詞などの柔軟性だけでなく、レスポンスコードへの明確なアクセスを提供します。WWWの代わりに使用するべきでしょう。
明らかに、応答ヘッダーからそれを解析する必要があります。今後の参考のために
public static int getResponseCode(WWW request) {
int ret = 0;
if (request.responseHeaders == null) {
Debug.LogError("no response headers.");
}
else {
if (!request.responseHeaders.ContainsKey("STATUS")) {
Debug.LogError("response headers has no STATUS.");
}
else {
ret = parseResponseCode(request.responseHeaders["STATUS"]);
}
}
return ret;
}
public static int parseResponseCode(string statusLine) {
int ret = 0;
string[] components = statusLine.Split(' ');
if (components.Length < 3) {
Debug.LogError("invalid response status: " + statusLine);
}
else {
if (!int.TryParse(components[1], out ret)) {
Debug.LogError("invalid response code: " + components[1]);
}
}
return ret;
}
:
これはトリックを行うようだあなたは、エラーメッセージに続いて301リダイレクトを取得する場合、ユニティのレスポンスヘッダは301、ないエラーが含まれます。 :( –