我正在使用Weather.com网络服务,该服务采用“纬度,经度”值(例如“40.87601089477539,-87.43512725830078”)并使用Netty处理网络通信。
服务响应错误,这是由我的参数值的逗号被转义(即“40.87601089477539%2C-87.43512725830078”)引起的。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<nav>
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
转义是在# works (when a confidential API key is added)
http://api.weather.com/v2//location?geocode=40.87601089477539,-87.43512725830078
# doesn't work
http://api.weather.com/v2//location?geocode=40.87601089477539%2C-87.43512725830078
中完成的。如果我能够将false传递给它,那么我的问题就会得到解决,但是Netty库会调用这个方法而不是我,并且该选项是硬编码的。
1)Netty消费者是否有解决方法? 2)解决这个问题的正确方法是什么?
编辑其他详细信息
堆栈追踪:
com.ning.http.client.RequestBuilderBase.toUrl(boolean encode)
答案 0 :(得分:1)
要回答我自己的问题,这里没有公共图书馆的责任。您可以设置一个标志来阻止编码(int()
):
setUseRawUrl(true)