Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >作为HTTP代理

作为HTTP代理
EN

Stack Overflow用户
提问于 2012-08-22 04:27:47
回答 2查看 11.7K关注 0票数 5

我阅读了数百篇这样的文章,并研究了几个可用的Java代理资源.但我找不到解决问题的办法。

我编写了一个代理Http-请求的WebApp。WebApp正在工作,但是链接和引用会中断,因为代理页面的“根”指向我的服务器的根,而不是我的proxyservlet的路径。

为了更清楚地说明:

  1. 我的ProxyServlet得到一个请求"http://myserver.com/proxy/ProxyServlet?foo=bar
  2. ProxyServlet现在从ServerX (例如"http://original.com/test.html")中获取页面内容。
  3. 页面的内容通过从一个流到另一个流的读取和写入以及复制标题的方式传递给浏览器。
  4. 浏览器显示浏览器显示的页面,即URL,它是原始请求("http://myserver.com/proxy/ProxyServlet?foo=bar"),但所有相关链接现在都指向"http://myserver.com/XXX.html“而不是"http://myserver.com/proxy/ProxyServlet/XXX.html”。

是否有一个响应头,我可以更改“路径”,以便相对链接正确指向我的ProxyServlet?

(重写页面内容和替换链接太难了,因为页面包含相对地址较多的元素,如javascript代码和其他活动内容.)

(将Servlet的映射更改为"/*“也是不可能的.它必须通过这条路径访问.)

EN

回答 2

Stack Overflow用户

发布于 2012-08-28 14:34:33

您正在发明一个“反向代理”,而忽略了"URL重写“功能.在我搜索结果的顶部,下面是一个开源代理servlet,它可以这样做:http://j2ep.sourceforge.net/docs/rewrite.html

此外,如果您必须这样做,您应该知道系统架构可能有问题。加入一个独立的代理,如Apache、nginex、Varnish应该始终是一种选择,因为您必须添加一个(或多个!)当你开始缩放的时候。

票数 5
EN

Stack Overflow用户

发布于 2013-11-04 14:17:56

听起来,您要代理的页面使用的是绝对链接,例如<a href="/XXX.html">,意思是“无论在哪里找到该链接,都要相对于文档根查找它”。如果您控制了它,最好的办法是使代理目标在它的链接中更加宽松,而使用<a href="XXX.html">。如果不能这样做,则需要使用JSoup重写这些URL(一些示例代码):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Document doc = Jsoup.parse(rawBody, getDisplayUrl());

for(Element cssALink : doc.select("link[rel=stylesheet],a[href]"))
{
    cssALink.attr("href", cssALink.absUrl("href"));
}
for(Element imgJsLink : doc.select("script[src],img[src]"))
{
    imgJsLink.attr("src", imgJsLink.absUrl("src"));
}
return doc.toString();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12073147

复制
相关文章
dataframe行变换为列
使用 import org.apache.spark.sql.functions 里面的函数,具体的方式可以看 functions :
机器学习和大数据挖掘
2019/07/01
1.1K0
将List<Map>中的datas转换为json格式写入文件
private static boolean writeToTextFileByJson(List<Map<String, Object>> datas, String title, String columns, String fileName, String encode) { final BufferedWriter bw; boolean flag = true; try { boolean hasExists = new File(fileName).exists();
用户3003813
2018/09/06
6.6K0
在Python如何将 JSON 转换为 Pandas DataFrame?
在数据处理和分析中,JSON是一种常见的数据格式,而Pandas DataFrame是Python中广泛使用的数据结构。将JSON数据转换为Pandas DataFrame可以方便地进行数据分析和处理。在本文中,我们将探讨如何将JSON转换为Pandas DataFrame,并介绍相关的步骤和案例。
网络技术联盟站
2023/08/03
1.3K0
在Python如何将 JSON 转换为 Pandas DataFrame?
PHP将PDO读取的数据转JSON格式输出
数据库结构及内容如下: PHP处理 <?php // 链接数据库 require_once('conn.php'); // 头部声明为json header("Content-type:applic
岳泽以
2023/04/23
2.6K0
PHP将PDO读取的数据转JSON格式输出
将VOC格式的数据集转换为COCO格式
import xml.etree.ElementTree as ETimport osimport json coco = dict()coco['images'] = []coco['type'] = 'instances'coco['annotations'] = []coco['categories'] = [] category_set = dict()image_set = set() category_item_id = -1image_id = 20180000000annotation_id
狼啸风云
2021/06/09
3.2K0
使用Python的yaml模块将JSON转换为YAML格式
之前介绍过读取yaml文件输出json,今天介绍下使用Python的yaml模块将JSON转换为YAML格式。
怪盗LYL
2023/09/15
1.2K0
使用Python的yaml模块将JSON转换为YAML格式
python提取pdf文档中的表格数据、svg格式转换为pdf
https://www.analyticsvidhya.com/blog/2020/08/how-to-extract-tabular-data-from-pdf-document-using-camelot-in-python/
用户7010445
2020/08/28
1.2K0
将Excel文件转换为JSON格式时保留原始数据类型
为了在将Excel文件转换为JSON格式时保留原始数据类型,您可以使用Python库,例如pandas和json。
jackcode
2023/04/25
2.7K0
将Excel文件转换为JSON格式时保留原始数据类型
图数据转换为DataFrame
•一、DataFrame•二、指定字段转换为DataFrame •2.1 CYPHER语句 •2.2 Python转换代码•三、将一个图转换为DataFrame •3.1 CYPHER语句 •3.2 Python转换代码
马超的博客
2022/09/02
9850
图数据转换为DataFrame
jackson将json转换为json对象
高久峰
2023/07/02
3390
从DataFrame中删除列
在操作数据的时候,DataFrame对象中删除一个或多个列是常见的操作,并且实现方法较多,然而这中间有很多细节值得关注。
老齐
2021/03/29
7K0
xml转格式_sql怎么导入表格数据
sheet 的概念是:1个excel中有多个页面每个页面都是一个sheet,在左下角显示。
全栈程序员站长
2022/09/23
9370
Js 数组转JSON格式
要点2:在js里写数组的时候是var data = new Array() 但是你如果是要转json显示的时候就要写成 var data = {},不然转出来的json全是空的。
全栈程序员站长
2022/06/24
12K0
Js 数组转JSON格式
日期型转JSON格式
可在属性上增加 @JsonFormat(timezone="GMT+8",pattern="yyyy-MM-dd"或 @JsonFormat(shape=JsonFormat.Shape.NUMBER) 全局修改可以在application.yml spring: jackson: date-format: yyyy-MM-dd #如果使用字符串型表示,用这样设置格式 timezone: GMT+8 serialization: write-dates-as-tim
华创信息技术
2019/11/08
1.7K0
java XML转JSON格式
代码如下所示,从这个例子中发现了代码库的重要性,如果建立一个自己的代码库,就可以直接从自己的代码库中取出来,这样需要什么就可以随时的取出来.代码库要保证的是规范性和正确性,并且有简单的模块注释.
全栈程序员站长
2022/09/16
1.3K0
python中将xml格式转json格式
在用python写脚本时,通常需要处理xml格式的文件或字符串。由于json格式处理的方便性,
py3study
2020/01/03
4.9K0
【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )
然后 , 准备 python 数据 , 将数据放到 list 列表中 , 列表中的元素是 dict 字典 ;
韩曙亮
2023/10/11
6610
【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )
python将webp格式的图片转换为png格式
#!/usr/bin/env python # -*- coding:utf-8 -*- import os import time from multiprocessing.dummy import Pool from PIL import Image # tinypng 批量将文件夹下的webp文件转换为png格式 def convert(pic): pic_list = pic.split('.') name = pic_list[0] # print(name)
槽痞
2020/06/23
2.4K0
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.2K0
点击加载更多

相似问题

如何让tornado TCPClient使用代理(http或socks)?

10

HTTP调用与Socks代理

14

RestSharp代理http/https/socks信息

1196

如何通过http代理发出Socks请求?

14

如何使用php测试代理或socks

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文