标签: http-get

来自同一台机器的GET和POST请求可以来自不同的IP吗?

我很确定我记得读过 - 但是找不到链接了 - 关于这个:在一些ISP(包括美国至少一个大型ISP)上,有可能让用户的GET和POST请求出现来自不同的IP.

(请注意,这完全与编程有关,我将在下面举例说明)

不是说你的IP地址在两个请求之间动态变化.

我在说这个:

IP 1:  123.45.67.89
IP 2:  101.22.33.44
Run Code Online (Sandbox Code Playgroud)

相同的用户发出GET,那么一个帖子,然后再得到,然后再次发布和服务器看到这一点:

- GET  from IP 1
- POST from IP 2
- GET  from IP 1
- POST from IP 2
Run Code Online (Sandbox Code Playgroud)

因此,尽管它是同一个用户,但Web服务器会看到GET和POST的不同IP.

肯定看到HTTP是无状态协议,这是完全合法的吗?

我想找回关于某些ISP如何/为什么配置其网络以便可能发生这种情况的解释.

我问,因为有人要求我实施以下IP过滤器,我很确定它是从根本上破坏了代码(破坏了至少一个主要的美国ISP用户的破坏).

这是一个Java servlet过滤器,可以防止某些攻击.原因是:

" 对于任何会话过滤器检查请求中的IP地址是否与创建会话时使用的相同.因此,在这种情况下,会话ID不能被盗用于形成虚假会话."

http://www.servletsuite.com/servlets/protectsessionsflt.htm

但是我很确定这本身就是破坏的,因为有些ISP可能会看到来自不同IP的GET和POST.

ip http-get http-post

4
推荐指数
1
解决办法
303
查看次数

使用PHP cURL发送短信的简单GET请求

我正在创建快速的Web应用程序,需要从PHP代码中发送php创建的消息.cURL显然是这项工作的工具,但我很难理解它以使其正常工作.

我正在处理的API的文档就在这里.特别是我想使用这里记录的简单的基于GET的短信通知.后一种资源表明GET API只是:

http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber={PHONENUMBER}&Message={MESSAGE}&LicenseKey={LICENSEKEY}
Run Code Online (Sandbox Code Playgroud)

事实上,如果我在浏览器中输入以下URL,我会得到预期的结果:

http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber=15362364325&Message=mymessage&LicenseKey=2134234882347139482314987123487
Run Code Online (Sandbox Code Playgroud)

我现在正试图在php中创建相同的效果.这是我的尝试:

<html>
<body>
<?php
$num = '13634859126';
$message = 'some swanky test message';

$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "http://sms2.cdyne.com/sms.svc/SimpleSMSsend?PhoneNumber=".urlencode($num)."&Message=".urlencode($message)."&LicenseKey=2345987342583745349872");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的其他PHP网页工作正常,所以我知道php和apache都设置正确.但当我将浏览器指向上面的页面时,我的手机上没有任何消息.任何人都可以告诉我我做错了什么吗?

注意:所有数字都是伪造的...正如您可能怀疑的那样.

php sms curl http-get

4
推荐指数
1
解决办法
2万
查看次数

Glassfish 3.1最大URI长度

我在使用长GET请求时遇到此错误:

严重:GRIZZLY0039:请求URI太大.java.nio.BufferOverflowException

我需要为Glassfish 3.1更改哪些配置?

我尝试更改这些参数但没有成功: - header-buffer-length-bytes(通过管理控制台) - request-body-buffer-size-bytes(在domain.xml中)

谢谢.

glassfish http-get buffer-overflow

4
推荐指数
1
解决办法
3923
查看次数

将变量从[HttpPost]方法传递给[HttpGet]方法

我正在将视图从[HttpPost]方法重定向到[HttpGet]方法.我已经开始工作,但想知道这是否是最好的方法.

这是我的代码:

[HttpPost] 
public ActionResult SubmitStudent()
{ 
StudentViewModel model = TempData["model"] as StudentResponseViewModel; 

TempData["id"] = model.Id; 
TempData["name"] = model.Name; 

return RedirectToAction("DisplayStudent"); 
}

[HttpGet] 
public ActionResult DisplayStudent() 
{ 
ViewData["id"] = TempData["id"]; 
ViewData["name"] = TempData["name"]; 

return View(); 
}
Run Code Online (Sandbox Code Playgroud)

视图:

<%@ Page 
Language="C#"
Inherits="System.Web.Mvc.ViewPage"
 %> 
<html>
 <head runat="server"> 
<title>DisplayStudent</title> 
</head> 
<body> 
<div> 
<%= ViewData["id"]%> <br /> 
<%= ViewData["name"]%> 
</div> 
</body> 
</html>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc http-get http-post http-redirect

4
推荐指数
1
解决办法
1万
查看次数

$ _SERVER ['REQUEST_METHOD']默认情况下评估为'GET'

对此进行了一些挖掘,但是,没有运气找到信息

我正在尝试检查表单是否已提交,以及是否为GETPOST.基本上我用的是:

if($_SERVER['REQUEST_METHOD'] == 'GET')
Run Code Online (Sandbox Code Playgroud)

要么

if($_SERVER['REQUEST_METHOD'] == 'POST')
Run Code Online (Sandbox Code Playgroud)

但是,我发现如果我不提交任何表单,只是直接转到页面 - 一个简单的HTTP请求,REQUEST_METHOD就是GET.是什么赋予了?这是设计的吗?如果是,那么我不能使用前一个语句来检查表单是否已通过GET提交.似乎有点多余......

有更多知识的人请向我解释一下,我将不胜感激.谢谢.

php http-get http-post

4
推荐指数
1
解决办法
6737
查看次数

HTTP:为什么在get请求中发送用户名和密码错误?

Genaral练习是指当您登录或执行其他需要您的用户名和密码的操作时,您将其发送到帖子请求的正文中.另外,为了增加安全性,应该使用https.

在get请求中,这些参数作为URL的一部分发送.但是在https中,正如我所理解的那样,正文和标题都是加密的.

所以从理论上讲,无论你使用https post还是get for send,你的数据都是安全的......在一种情况下,攻击者必须在你的标题和你的身体其他部分进行描述.

所以我的问题是,如果这一切都是真的,那么帖子怎么更安全?

https http-get http-post http-headers

4
推荐指数
1
解决办法
7445
查看次数

Android HTTP Get

我看了一些论坛帖子,我无法找到问题的答案.我想从一个php文件得到一个响应.php文件正常运行.问题是Android App不会执行我的请求.以下是我的代码的两个示例以及我在textview中得到的结果:

public void changText(View view) {
    TextView textv = (TextView)findViewById(R.id.textview1);
    textv.setText("Text Has Been Changed");
    BufferedReader in = null;
    String data = null;

    try{
           HttpClient httpclient = new DefaultHttpClient();

           HttpGet request = new HttpGet();
           URI website = new URI("http://alanhardin.comyr.com/matt24/matt28.php");
           request.setURI(website);
           HttpResponse response = httpclient.execute(request);
           in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

           textv.append(" Connected ");
       }catch(Exception e){
           Log.e("log_tag", "Error in http connection "+e.toString());
       }


   }
Run Code Online (Sandbox Code Playgroud)

TextView显示:文本已更改

    public void changText(View view) {
    TextView textv = (TextView)findViewById(R.id.textview1);
    textv.setText("Text Has Been Changed");
    BufferedReader in = null; …
Run Code Online (Sandbox Code Playgroud)

android http-get httpclient

4
推荐指数
1
解决办法
6万
查看次数

youtube api v3 - 从播放列表中获取视频,其中视图计数数据按视图数量排序

我希望从播放列表中获取所有statistics类似数据viewCount的视频,视频应按视频数量排序.到目前为止我已经管理了以下内容:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUbW18JZRgko_mOGm5er8Yzg&key={YOUR_KEY_HERE}&maxResults=50
Run Code Online (Sandbox Code Playgroud)

在youtube api v2中,我们可以传递part=statistics以获取视图计数,但这不适用于v3播放列表.如何以上述格式获取上述视频数据.

youtube http-get google-api youtube-api query-string

4
推荐指数
1
解决办法
2819
查看次数

我可以在Spring Boot应用程序中从Thymeleaf表发出HTTP POST请求

我在一个简单的Spring Boot应用程序中有一个Thymeleaf模板.该模板在表中包含一个列表,如下所示:

<p>There are <span th:text="${#lists.size(persons)}"></span> people:</p>
<table th:if="${not #lists.isEmpty(persons)}" border="1">
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Address</th>
        <th>Telephone</th>
        <th>Email</th>
        <th>Actions</th>
    </tr>
    <tr th:each="person : ${persons}">
        <td th:text="${person.personId}"></td>
        <td th:text="${person.name}"></td>
        <td th:text="${person.address}"></td>
        <td th:text="${person.telephone}"></td>
        <td th:text="${person.email}"></td>
        <td>
            <a href="#" data-th-href="@{/edit(personId=${person.personId})}">Edit</a> |
            <a href="#" data-th-href="@{/delete(personId=${person.personId})}">Delete</a>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我想根据表格中的最后一个单元格启用编辑和删除功能.但目前这两个请求都是针对HTTP GET的.这对于从服务器获取人员的详细信息以进行编辑的编辑很好,但是由于服务器上的数据更改,删除应该触发POST请求.

有没有人知道Thymeleaf是否允许每行一个表的POST请求?或者我是否必须每行编写一个简单的HTML表单?

GET表格目前是:

<td>
    <a href="#" data-th-href="@{/edit(personId=${person.personId})}">Edit</a>
    <!--a href="#" data-th-href="@{/delete(personId=${person.personId})}">Delete</a></td-->
    <form method="get" th:action="@{/edit(personId=${person.personId})}">
        <button type="submit" name="submit" value="value">Edit</button>
    </form>
</td>
Run Code Online (Sandbox Code Playgroud)

我有一个链接和一个表格进行测试.

要调用的控制器方法是:

// Gets a Person.
@RequestMapping(value="/edit", method=RequestMethod.GET)
public String getEditPerson(@RequestParam("personId") String personId, Model model) { …
Run Code Online (Sandbox Code Playgroud)

html http-get http-post thymeleaf

4
推荐指数
1
解决办法
1万
查看次数

GET请求在浏览器中有效,但是使用Postman时我未获得授权

我通过Chrome发布请求:

[org]/api/data/v8.1/accounts?$select=name,accountid&$top=3
Run Code Online (Sandbox Code Playgroud)

我得到一个合理的答复:

{
  "@odata.context":"[org]/api/data/v8.1/$metadata#accounts(name,accountid)","value":[
    {
      "@odata.etag":"W/\"769209\"","name":"Telco","accountid":"c6ed63e0-9664-e411-940d-00155d104b35"
    },{
      "@odata.etag":"W/\"752021\"","name":"Fourth Coffee","accountid":"d1eefc0a-3ebc-e611-80be-24be051ac8a1"
    },{
      "@odata.etag":"W/\"768036\"","name":"Fourth Coffee","accountid":"3cbb8d24-20bd-e611-80c0-24be051ac8a1"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,当尝试通过邮递员执行相同的GET时,我得到了401未经授权!

我尝试了完全没有标题以及基本身份验证:

Authorization:Basic Y2hybGFiXxxxxxxxxxxxxxcmQxMjM=
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我需要在CRM中进行一些更改以允许我从邮递员那里进行GET吗?

以下是Chrome使用的标题(DevTools提供了此标题):

  • 接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp,/ ; q = 0.8
  • 接受编码:gzip,deflate,sdch
  • 接受语言:en-US,en; q = 0.8
  • 授权:协商TlRMTVNTUAADAAAAGAAYAIoAAABkAWQBogAAAAwADABYAAAADgAOAGQAAAAYABgggAAABAAEAAGAgAAFYKI4gYBsR0AAAAPai35LURprYMgYVSwMQXi // XXRVVEUuj0yT
  • 快取控制:max-age = 0
  • Cookie:ReqClientId = 42484e9a-f488-41a9-a016-1cd6e5820b3c
  • 主持人:myhost ....
  • 代理连接:保持活动状态
  • 不安全升级请求:1
  • 用户代理:Mozilla / 5.0(Linux; Android 6.0; Nexus 5 Build / MRA58N)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 57.0.2987.133移动Safari / 537.36

c# http http-get postman dynamics-crm-2016

4
推荐指数
1
解决办法
1万
查看次数