Tôi không hiểu đầy đủ cách SWI Prolog xử lý http. Tôi có đoạn mã sau hầu hết hoạt động ngoài get_header/1
. Tôi cần để có thể đọc tập tin tiêu đề của yêu cầu http để có được một giá trị. Làm thế nào để làm điều đó? Tôi có sử dụng http_read_header/2
không? Nếu thế thì sao?SWI-Prolog đọc tiêu đề http
:- http_handler(root(handle), myhandle,[]).
myhandle(Request):-
get_header(H),
http_read_json_dict(Request,DictIn),
handle_dict(DictIn,DictOut),
reply_json(DictOut).
get_header(H):-
http_read_header(current_input, H),
something(H).
Cảm ơn bạn đã giải thích những gì tôi đã nhầm lẫn. Tôi đã cố gắng để cắt bỏ mã mà tôi nghĩ rằng sẽ nhận được trong cách của những gì tôi đã yêu cầu. – user27815
Tôi hiểu điều đó. Nhưng nó là quá nhiều để mong đợi rằng những người muốn trả lời câu hỏi cũng đưa ra mã phù hợp với khách hàng phù hợp với trường hợp sử dụng cụ thể của bạn. Vui lòng bao gồm một khách hàng làm rõ những gì bạn đang làm trong những trường hợp như vậy. Để cắt mã, bạn có thể sử dụng lời gọi mẫu 'wget' hoặc' curl' để tạo ra yêu cầu khách hàng phù hợp. Có một số câu hỏi như vậy đã có thể được trả lời dễ dàng nếu trường hợp sử dụng được mô tả đầy đủ hơn. – mat
Mã khách hàng không thuộc quyền kiểm soát của tôi trong trường hợp này nên tôi không thể cung cấp cho bạn. Hệ thống được kết nối với một dịch vụ khác, và tôi đang cố gắng tìm ra những gì nó đang gửi, đó chính là vấn đề! – user27815