คำถามติดแท็ก httpresponse

การตอบกลับ HTTP คือข้อความเครือข่ายที่สร้างจากเนื้อความและข้อมูลเมตาในรูปแบบของส่วนหัวตามข้อกำหนดของ HTTP อาจอ้างถึงคลาส HttpResponse ในเฟรมเวิร์กซอฟต์แวร์และไลบรารีที่ทำให้ฟังก์ชันที่เกี่ยวข้องเป็นไปโดยอัตโนมัติ

10
วิธีที่เหมาะสมในการส่งคืน JSON โดยใช้โหนดหรือ Express
ดังนั้นหนึ่งสามารถพยายามดึงวัตถุ JSON ต่อไปนี้: $ curl -i -X GET http://echo.jsontest.com/key/value/anotherKey/anotherValue HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Type: application/json; charset=ISO-8859-1 Date: Wed, 30 Oct 2013 22:19:10 GMT Server: Google Frontend Cache-Control: private Alternate-Protocol: 80:quic,80:quic Transfer-Encoding: chunked { "anotherKey": "anotherValue", "key": "value" } $ มีวิธีการสร้างเนื้อเดียวกันในการตอบสนองจากเซิร์ฟเวอร์โดยใช้โหนดหรือด่วน? เห็นได้ชัดว่าใครสามารถตั้งค่าส่วนหัวและระบุว่าเนื้อหาประเภทของการตอบสนองจะเป็น "application / json" แต่แล้วมีวิธีที่แตกต่างกันในการเขียน / ส่งวัตถุ สิ่งที่ฉันได้เห็นการใช้งานทั่วไปคือการใช้คำสั่งของแบบฟอร์ม: response.write(JSON.stringify(anObject)); …

10
วิธีตั้งค่าการหมดเวลา HttpResponse สำหรับ Android ใน Java
ฉันได้สร้างฟังก์ชั่นต่อไปนี้เพื่อตรวจสอบสถานะการเชื่อมต่อ: private void checkConnectionStatus() { HttpClient httpClient = new DefaultHttpClient(); try { String url = "http://xxx.xxx.xxx.xxx:8000/GaitLink/" + strSessionString + "/ConnectionStatus"; Log.d("phobos", "performing get " + url); HttpGet method = new HttpGet(new URI(url)); HttpResponse response = httpClient.execute(method); if (response != null) { String result = getResponse(response.getEntity()); ... เมื่อฉันปิดเซิร์ฟเวอร์สำหรับการทดสอบการดำเนินการรอเป็นเวลานานที่บรรทัด HttpResponse response = …

8
เหตุใดฉันจึงควรใช้ IHttpActionResult แทน HttpResponseMessage
ฉันได้รับการพัฒนากับ WebAPI และได้ย้ายไป WebApi2 ที่ไมโครซอฟท์ได้แนะนำใหม่อินเตอร์เฟซที่ดูเหมือนว่าจะแนะนำให้นำมาใช้มากกว่ากลับIHttpActionResult HttpResponseMessageฉันสับสนกับข้อดีของอินเทอร์เฟซใหม่นี้ มันดูเหมือนว่าส่วนใหญ่เพียงแค่ให้เล็กน้อยHttpResponseMessageวิธีที่ง่ายในการสร้าง ฉันจะโต้แย้งว่านี่เป็น "สิ่งที่เป็นนามธรรมเพื่อประโยชน์ของการเป็นนามธรรม" ฉันพลาดอะไรไปรึเปล่า? อะไรคือข้อได้เปรียบของโลกแห่งความเป็นจริงที่ฉันได้รับจากการใช้อินเทอร์เฟซใหม่นอกเหนือจากการบันทึกบรรทัดโค้ด วิธีเก่า (WebApi): public HttpResponseMessage Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { return new HttpResponseMessage(HttpStatusCode.OK); } else { throw new HttpResponseException(HttpStatusCode.NotFound); } } วิธีใหม่ (WebApi2): public IHttpActionResult Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { …

13
การส่งคืนรหัสสถานะ http จากตัวควบคุม Web Api
ฉันกำลังพยายามส่งคืนรหัสสถานะ 304 ที่ไม่ได้แก้ไขสำหรับวิธีการ GET ในตัวควบคุมเว็บ api วิธีเดียวที่ฉันประสบความสำเร็จคือสิ่งนี้: public class TryController : ApiController { public User GetUser(int userId, DateTime lastModifiedAtClient) { var user = new DataEntities().Users.First(p => p.Id == userId); if (user.LastModified <= lastModifiedAtClient) { throw new HttpResponseException(HttpStatusCode.NotModified); } return user; } } ปัญหาที่นี่คือมันไม่ใช่ข้อยกเว้นมันไม่ได้ถูกแก้ไขดังนั้นแคชของลูกค้าก็โอเค ฉันต้องการให้ประเภทการคืนเป็นผู้ใช้ด้วย (เนื่องจากเว็บ api ทุกตัวอย่างแสดงด้วย GET) ไม่ส่งคืน HttpResponseMessage …

15
ส่งคืนเนื้อหาด้วย IHttpActionResult สำหรับการตอบกลับที่ไม่ตกลง
สำหรับการกลับมาจากคอนโทรลเลอร์ Web API 2 ฉันสามารถส่งคืนเนื้อหาพร้อมการตอบกลับหากการตอบสนองตกลง (สถานะ 200) ดังนี้: public IHttpActionResult Get() { string myResult = ... return Ok(myResult); } หากเป็นไปได้ฉันต้องการใช้ประเภทผลลัพธ์ที่มีอยู่ภายในที่นี่เมื่อเป็นไปได้: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx คำถามของฉันคือสำหรับการตอบกลับประเภทอื่น (ไม่ใช่ 200) ฉันจะส่งคืนข้อความ (สตริง) ด้วยได้อย่างไร ตัวอย่างเช่นฉันสามารถทำสิ่งนี้: public IHttpActionResult Get() { return InternalServerError(); } แต่ไม่ใช่: public IHttpActionResult Get() { return InternalServerError("Message describing the error here"); } เป็นการดีที่ฉันต้องการให้เป็นแบบทั่วไปเพื่อให้ฉันสามารถส่งข้อความกลับด้วยการใช้งานใด ๆ ของ …

8
.NET: วิธีที่ง่ายที่สุดในการส่ง POST พร้อมข้อมูลและตอบกลับการอ่าน
ด้วยความประหลาดใจของฉันฉันไม่สามารถทำอะไรง่าย ๆ อย่างนี้จากสิ่งที่ฉันสามารถบอกได้ใน. NET BCL: byte[] response = Http.Post ( url: "http://dork.com/service", contentType: "application/x-www-form-urlencoded", contentLength: 32, content: "home=Cosby&favorite+flavor=flies" ); รหัสนี้สมมุติข้างต้นทำให้ HTTP POST กับข้อมูลและผลตอบแทนการตอบสนองจากที่วิธีการในระดับคงที่PostHttp เมื่อเราถูกทิ้งไว้โดยไม่มีอะไรง่าย ๆ นี่เป็นทางออกที่ดีที่สุดต่อไปคืออะไร? ฉันจะส่ง HTTP POST พร้อมข้อมูลและรับเนื้อหาของการตอบกลับได้อย่างไร

3
ความแตกต่างระหว่างส่วนหัว Pragma และการควบคุมแคชคืออะไร?
ฉันอ่านเกี่ยวกับส่วนหัวของPragmaบนWikipediaซึ่งระบุว่า: "ฟิลด์ส่วนหัวของ Pragma: no-cache เป็นส่วนหัว HTTP / 1.0 สำหรับใช้ในการร้องขอเป็นวิธีที่เบราว์เซอร์จะบอกเซิร์ฟเวอร์และแคชกลางใด ๆ ที่ต้องการทรัพยากรรุ่นใหม่ไม่ใช่สำหรับเซิร์ฟเวอร์ เพื่อบอกเบราว์เซอร์ไม่ให้แคชทรัพยากรเอเจนต์ผู้ใช้บางรายให้ความสนใจกับส่วนหัวนี้ในการตอบกลับ แต่ HTTP / 1.1 RFC เตือนเป็นการเฉพาะจากการพึ่งพาพฤติกรรมนี้ " แต่ฉันไม่เข้าใจว่ามันทำอะไร? ความแตกต่างระหว่างCache-Controlส่วนหัวที่มีค่าคืออะไรno-cacheและPragmaมีค่าคือno-cacheอะไร?

5
การทดสอบหน่วย ASP.NET WebApi ด้วย Request.CreateResponse
ฉันกำลังพยายามเขียนการทดสอบหน่วยสำหรับ ApiController ของฉันและประสบปัญหาบางอย่าง มีวิธีการขยายที่ดีที่เรียกว่า Request.CreateResponse ที่ช่วยได้มากในการสร้างการตอบสนอง public HttpResponseMessage Post(Product product) { var createdProduct = repo.Add(product); return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct); } มีวิธีใดในการเยาะเย้ย CreateResponse โดยไม่ใช้ mocks บางส่วนหรือใช้โดยตรงของ "HttpResponseMessage ใหม่ (... )"

9
ส่งคืนรหัสสถานะ HTTP 201 ในขวด
เรากำลังใช้ Flask สำหรับหนึ่งใน API ของเราและฉันก็สงสัยว่าถ้าใครรู้วิธีการตอบกลับ HTTP 201? สำหรับข้อผิดพลาดเช่น 404 เราสามารถโทร: from flask import abort abort(404) แต่สำหรับ 201 ฉันได้รับ LookupError: ไม่มีข้อยกเว้นสำหรับ 201 ฉันต้องสร้างข้อยกเว้นของตัวเองเช่นนี้ในเอกสารหรือไม่?

15
หมายความว่าอย่างไรเมื่อคำขอ HTTP ส่งคืนรหัสสถานะ 0
หมายความว่าอย่างไรเมื่อการเรียกเครือข่าย JavaScript เช่นการดึงข้อมูลหรือ XMLHttpRequest หรือการร้องขอเครือข่าย HTTP ประเภทอื่น ๆ ล้มเหลวด้วยรหัสสถานะ HTTP เป็น 0? ดูเหมือนจะไม่เป็นรหัสสถานะ HTTP ที่ถูกต้องเนื่องจากรหัสอื่นเป็นตัวเลขสามหลักในข้อกำหนด HTTP ฉันลองถอดปลั๊กเครือข่ายออกมาเป็นการทดสอบ อาจไม่เกี่ยวข้อง แต่ทำให้รหัสสถานะ 17003 (IIRC) ซึ่งการค้นหาคร่าวๆแนะนำว่าหมายถึง "การค้นหาเซิร์ฟเวอร์ DNS ล้มเหลว" รหัสเดียวกันทำงานได้ดีจากบางสถานที่และระบบอย่างไรก็ตามในบางสภาพแวดล้อมมันล้มเหลวด้วยรหัสสถานะ 0 และไม่มีการตอบสนองต่อข้อความ นี่เป็น HTTP POST ทั่วไปสำหรับ URL อินเทอร์เน็ต ไม่เกี่ยวข้องกับไฟล์: // ซึ่งฉันเข้าใจว่าอาจส่งคืน 0 แสดงถึงความสำเร็จใน Firefox

6
การใช้การจัดการเนื้อหาในส่วนหัวการตอบกลับ HTTP
ฉันพบว่ารหัส asp.net ต่อไปนี้มีประโยชน์มากเมื่อให้บริการไฟล์จากฐานข้อมูล: Response.AppendHeader("content-disposition", "attachment; filename=" + fileName); วิธีนี้ช่วยให้ผู้ใช้บันทึกไฟล์ลงในคอมพิวเตอร์แล้วตัดสินใจว่าจะใช้อย่างไรแทนที่จะให้เบราว์เซอร์พยายามใช้ไฟล์ มีสิ่งใดอีกบ้างที่สามารถทำได้ด้วยส่วนหัวการตอบสนองการจัดการเนื้อหา

2
วิธีตั้งชื่อไฟล์ตอบกลับโดยไม่บังคับให้กล่องโต้ตอบ“ บันทึกเป็น”
ฉันกำลังส่งคืนสตรีมในการตอบสนองบางอย่างเพื่อตั้งค่าcontent-typeส่วนหัวที่เหมาะสม พฤติกรรมที่ฉันกำลังมองหาคือ: หากเบราว์เซอร์สามารถแสดงเนื้อหาของประเภทเนื้อหาที่กำหนดก็ควรแสดงในหน้าต่างเบราว์เซอร์ หากเบราว์เซอร์ไม่ทราบวิธีแสดงผลเนื้อหาควรแสดงกล่องโต้ตอบ "บันทึกเป็น" โดยที่ชื่อไฟล์ควรเป็นชื่อที่ให้ไว้ในการตอบกลับ ปัญหาคือถ้าฉันตั้งค่าContent-Dispositionส่วนหัวด้วย: "ไฟล์แนบ; filename =" myfile.txt "" เบราว์เซอร์จะแสดงกล่องโต้ตอบ "บันทึกเป็น" เสมอ หากฉันไม่ได้ตั้งค่าContent-Dispositionชื่อไฟล์ที่ใช้ในกล่องโต้ตอบ "บันทึกเป็น" จะเป็นชื่อใน URL ที่ใช้ไม่ได้ในกรณีของฉัน ฉันยังลองตั้งค่าContent-Dispositionเป็นinlineแต่ผลลัพธ์ก็เหมือนกัน

9
วิธีรับรหัสตอบกลับ HTTP โดยใช้ Selenium WebDriver
ฉันได้เขียนการทดสอบด้วย Selenium2 / WebDriver และต้องการทดสอบว่า HTTP Request ส่งคืน HTTP 403 Forbidden หรือไม่ เป็นไปได้หรือไม่ที่จะรับรหัสสถานะการตอบกลับ HTTP ด้วย Selenium WebDriver

10
ฉันจะส่งคืน NotFound () IHttpActionResult พร้อมข้อความแสดงข้อผิดพลาดหรือข้อยกเว้นได้อย่างไร
ฉันกำลังส่งคืน NotFound IHttpActionResultเมื่อไม่พบบางสิ่งในการดำเนินการ WebApi GET ของฉัน พร้อมกับการตอบกลับนี้ฉันต้องการส่งข้อความที่กำหนดเองและ / หรือข้อความยกเว้น (ถ้ามี) ปัจจุบันApiController's NotFound()วิธีการไม่ให้เกินที่จะผ่านข้อความ มีวิธีใดบ้างในการทำเช่นนี้? หรือฉันจะต้องเขียนเองIHttpActionResult?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.