اختبار واجهة برمجة تطبيقات REST لتكوين تطبيق Azure باستخدام Fiddler
لاختبار واجهة برمجة تطبيقات REST باستخدام Fiddler، ستحتاج إلى تضمين رؤوس HTTP المطلوبة للمصادقة في طلباتك. فيما يلي كيفية تكوين Fiddler لاختبار واجهة برمجة تطبيقات REST ، وإنشاء رؤوس المصادقة تلقائيا:
تأكد من أن TLS 1.2 هو بروتوكول مسموح به:
- انتقل إلى ToolsOptionsHTTPS>>).
- تأكد من التحقق من فك تشفير حركة مرور HTTPS .
- في قائمة البروتوكولات، أضف tls1.2 إذا لم يكن موجودا.
افتح محرر البرامج النصية Fiddler أو اضغط على Ctrl-R داخل Fiddler
إضافة التعليمة البرمجية التالية داخل
Handlersالفصل قبل الدالةOnBeforeRequeststatic function SignRequest(oSession: Session, credential: String, secret: String) { var utcNow = DateTimeOffset.UtcNow.ToString("r", System.Globalization.DateTimeFormatInfo.InvariantInfo); var contentHash = ComputeSHA256Hash(oSession.RequestBody); var stringToSign = oSession.RequestMethod.ToUpperInvariant() + "\n" + oSession.PathAndQuery + "\n" + utcNow +";" + oSession.hostname + ";" + contentHash; var signature = ComputeHMACHash(secret, stringToSign); oSession.oRequest.headers["x-ms-date"] = utcNow; oSession.oRequest.headers["x-ms-content-sha256"] = contentHash; oSession.oRequest.headers["Authorization"] = "HMAC-SHA256 Credential=" + credential + "&SignedHeaders=x-ms-date;host;x-ms-content-sha256&Signature=" + signature; } static function ComputeSHA256Hash(content: Byte[]) { var sha256 = System.Security.Cryptography.SHA256.Create(); try { return Convert.ToBase64String(sha256.ComputeHash(content)); } finally { sha256.Dispose(); } } static function ComputeHMACHash(secret: String, content: String) { var hmac = new System.Security.Cryptography.HMACSHA256(Convert.FromBase64String(secret)); try { return Convert.ToBase64String(hmac.ComputeHash(System.Text.Encoding.ASCII.GetBytes(content))); } finally { hmac.Dispose(); } }قم بإضافة التعليمة البرمجية التالية في نهاية الدالة
OnBeforeRequest. قم بتحديث مفتاح الوصول كما هو موضح في تعليق TODO.if (oSession.isFlagSet(SessionFlags.RequestGeneratedByFiddler) && oSession.hostname.EndsWith(".azconfig.io", StringComparison.OrdinalIgnoreCase)) { // TODO: Replace the following placeholders with your access key var credential = "<Credential>"; // Id var secret = "<Secret>"; // Value SignRequest(oSession, credential, secret); }استخدم مؤلف الكمان لإنشاء طلب وإرساله