在HTTP GET请求中,参数作为查询字符串发送:
http://example.com/page?parameter=value&also=another
在HTTP POST请求中,参数不会与URI一起发送.
价值在哪里?在请求标题中?在请求机构?它是什么样子的?
如何在PHP中检测使用了哪种请求类型(GET,POST,PUT或DELETE)?
是否存在用于从API构造JSON响应的标准或最佳实践?显然,每个应用程序的数据都是不同的,所以我不关心,而是"响应样板",如果你愿意的话.我的意思的一个例子:
成功要求:
{
"success": true,
"payload": {
/* Application-specific data would go here. */
}
}
Run Code Online (Sandbox Code Playgroud)
请求失败:
{
"success": false,
"payload": {
/* Application-specific data would go here. */
},
"error": {
"code": 123,
"message": "An error occurred!"
}
}
Run Code Online (Sandbox Code Playgroud) 实际上我想读完搜索查询后的内容.问题是URL只接受POST
方法,并且不对GET
方法采取任何操作......
我必须在domdocument
或的帮助下阅读所有内容file_get_contents()
.是否有任何方法可以让我用POST
方法发送参数然后通过读取内容PHP
?
try:
r = requests.get(url, params={'s': thing})
except requests.ConnectionError, e:
print e #should I also sys.exit(1) after this?
Run Code Online (Sandbox Code Playgroud)
它是否正确?有没有更好的方法来构建它?这会涵盖我的所有基础吗?
我想从其他网站获取信息.因此(也许)我应该向该网站发出请求(在我的情况下是HTTP GET请求)并接收响应.
我如何在Ruby on Rails中实现这一点?
如果可能的话,在我的控制器中使用它是否正确?
我正在尝试使用Pythons mock包来模拟Pythons requests
模块.让我在以下场景中工作的基本要求是什么?
在我的views.py中,我有一个函数可以使每次request.get()调用具有不同的响应
def myview(request):
res1 = requests.get('aurl')
res2 = request.get('burl')
res3 = request.get('curl')
Run Code Online (Sandbox Code Playgroud)
在我的测试类中,我想做类似的事情,但无法弄清楚确切的方法调用
步骤1:
# Mock the requests module
# when mockedRequests.get('aurl') is called then return 'a response'
# when mockedRequests.get('burl') is called then return 'b response'
# when mockedRequests.get('curl') is called then return 'c response'
Run Code Online (Sandbox Code Playgroud)
第2步:
打电话给我
第3步:
验证响应包含'响应','b响应','c响应'
如何完成步骤1(模拟请求模块)?
如何使用servlet过滤器来更改传入的servlet请求URL
http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123
至
http://nm-java.appspot.com/Check_License?Contact_Id=My_Obj_123
?
更新:根据BalusC的以下步骤,我想出了以下代码:
public class UrlRewriteFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
//
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req;
String requestURI = request.getRequestURI();
if (requestURI.startsWith("/Check_License/Dir_My_App/")) {
String toReplace = requestURI.substring(requestURI.indexOf("/Dir_My_App"), requestURI.lastIndexOf("/") + 1);
String newURI = requestURI.replace(toReplace, "?Contact_Id=");
req.getRequestDispatcher(newURI).forward(req, res);
} else {
chain.doFilter(req, res);
}
}
@Override
public void destroy() {
//
}
}
Run Code Online (Sandbox Code Playgroud)
相关条目web.xml
如下所示: …
我在维基百科上读到了Pragma标题,其中说:
"Pragma:no-cache标头字段是用于请求的HTTP/1.0标头.它是浏览器告诉服务器和任何中间缓存它需要新资源的一种手段,而不是服务器告诉浏览器不要缓存资源.一些用户代理确实在响应中注意这个头,但HTTP/1.1 RFC专门警告不要依赖这种行为."
但我还不明白它的作用?是什么之间的差异Cache-Control
,其值是头no-cache
和Pragma
其值也no-cache
?
我想要的是从API获取一个带有HTTP(例如,jQuery的AJAX)请求的对象到外部api.我该如何开始?我对谷歌先生进行了研究,但我找不到任何帮助.
我开始怀疑这是否可能?在这篇文章中,Laravel 4从控制器向外部URL发出请求数据,看起来它可以完成.但是没有任何示例或任何来源可以找到一些文档.
请帮帮我?