程序更改 html 响应中的所有图像 url 以从两个域下载

发布于 2024-11-29 07:24:37 字数 652 浏览 0 评论 0原文

我需要一些帮助来尝试找出 java 代码来用两个域替换图像 URL(映射到同一站点),以确保 IE 可以并行下载这些文件(实现 IE 的 2 个以上文件下载技巧)。 我的基本设计是有一个 ResponseWrapper 过滤器,它可以处理响应数据。

现在,一旦我有了 html 字符串,我想用 2 个域替换每个 img url,或者

我有 html,其中包含以下模式作为示例

<... href="/img/abc/def.jpg/ > <....src="/img/ghi/ijk.jpg/> <....src="/img/ghi/xyz.jpg/> <... href="/img/abc/lkm.jpg/>

我想找到这个模式并将其替换为以下字符串

<... href="http://test1.com/img/ abc/def.jpg/>>> <....src="http://test2.com/img/ghi/ijk.jpg/> <....src="http://test1.com/img/ghi/xyz.jpg/> <... href="http://test2.com/img/abc/lkm.jpg/> 等等。

有人可以告诉我执行此模式替换的逻辑或算法应该是什么吗?

I need some help in trying to figure out the java code to replace image URLs with two domains (mapping to the same site), to ensure that IE can download those files in parallel (achieve more than 2 files download trick for IE).
My Basic Design is have a ResponseWrapper filter which has the handle on response data.

Now once I have the html string, I want to replace every img url with 2 domains alternatively

I have the html with me which contains the following patttern as an example

<... href="/img/abc/def.jpg/>
<....src="/img/ghi/ijk.jpg/>
<....src="/img/ghi/xyz.jpg/>
<... href="/img/abc/lkm.jpg/>

I want to find this pattern and replace it with the following string

<... href="http://test1.com/img/abc/def.jpg/>
<....src="http://test2.com/img/ghi/ijk.jpg/>
<....src="http://test1.com/img/ghi/xyz.jpg/>
<... href="http://test2.com/img/abc/lkm.jpg/>
and so on.

Can somebody give me an idea of what should be the logic or algorithm to do this pattern replacement?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沧笙踏歌 2024-12-06 07:24:37

您应该创建一个方法来生成 URL,而不是尝试对响应文本本身执行此操作。此方法将从某些配置列表中随机选择一个主机(没有充分的理由严格交替)。

Rather than attempting to do this on the response text itself, you should create a method to generate URLs. This method would randomly pick a host from some configured list (there's no good reason to strictly alternate).

梦毁影碎の 2024-12-06 07:24:37

这就是我所做的,我建议您也这样做:

  • 将您的主域放入 www
  • 将您的图像域 #1 放入 im1< /code>
  • 将您的图像域 #2 放入 im2

在您的网页中,只需放置图像的完整链接,例如:

  • http: //im1.example.com/image1.jpg
  • http://im2.example.com/image2.jpg

但我的第一个建议是:仔细阅读 YahooSlow 插件的所有建议,这是关于网站优化。

Here's what I do, and I would suggest you to do the same:

  • put your main domain with www
  • put your images domain #1 into im1
  • put your images domain #2 into im2

In your web pages, just put full links to images like:

  • http://im1.example.com/image1.jpg
  • http://im2.example.com/image2.jpg

But my first advice would be: read carefully all the recommandations from the YahooSlow plugin, which are the best ones about website optimization.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文