- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用以下代码尝试通过 Amazon 连接到 associates 程序:
public static Session login(final Account account) throws IOException{
final HashMap<String, String> info = new HashMap<String, String>();
final URL url = new URL("https://affiliate-program.amazon.com/");
final HttpURLConnection connection = (HttpURLConnection)(account.isProxySet() ? url.openConnection(account.getProxy()) : url.openConnection());
connection.setUseCaches(false);
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setReadTimeout(timeout);
connection.setConnectTimeout(timeout);
connection.setRequestMethod("POST");
connection.addRequestProperty("User-Agent", account.getUserAgent());
connection.addRequestProperty("User-Content", "text/plain");
connection.setAllowUserInteraction(true);
final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
final Scanner reader = new Scanner(connection.getInputStream());
while(reader.hasNextLine()){
final String line = reader.nextLine().trim();
if(line.contains("<input type=\"hidden\"")){
final String[] split = line.split("\"");
info.put(split[3], split[5]);
}
}
String writable = "";
final Iterator<String> iterator = info.keySet().iterator();
while(iterator.hasNext()){
final String key = iterator.next();
writable += String.format("%s=%s", URLEncoder.encode(key, "UTF-8"), URLEncoder.encode(info.get(key), "UTF-8"));
if(iterator.hasNext()) writable += "&";
}
final String data = String.format("%s&email=%s&password=%s&submit=Sign In", writable, URLEncoder.encode(account.getEmail(), "UTF-8"), URLEncoder.encode(account.getPass(), "UTF-8"));
System.out.println(data);
writer.write(data);
writer.flush();
writer.close();
connection.getInputStream().read();
System.out.println(connection.getURL().toString());
return new Session(account);
}
Session 和 Account 类都是我的,但与我的问题无关。所以基本上我正在尝试连接到亚马逊网站,但我遇到了问题。每当它打印出它实际写入的数据时,它看起来就像它在网页源代码中的样子(写下正确的名称及其相关值)。但是,当它打印出新 URL 时,它与旧 URL 相同。
我想我确实知道原因;看起来你在写之前无法阅读(这就是为什么我在初始化扫描仪之前初始化 BufferedWriter 的原因,因为如果我不这样做,它会告诉我我不能在阅读后写并抛出 IOException)基本上如果你查看站点的页面源代码,您会看到一个名为“sessionId”的 ID,每次打开新连接时它都会更改。
所以我只能得出结论,唯一的解决方案是在写入之前找出某种方式来读取,这样 session ID 就不会改变。我得出这个结论是因为每次我创建一个新连接并打印出我正在编写的数据(在编码之前)时, session ID 都是不同的。有没有人对如何做到这一点有任何想法?任何想法将不胜感激。谢谢。
编辑:根据 ruakh 的回答修改了代码。
最佳答案
一个问题是:
writer.write(URLEncoder.encode(data, "UTF-8"));
将用 URL 转义替换所有的符号和等号,所以不要发布这样的内容:
a=b&c=d&e=f
您正在发布这样的内容:
a%3Db%26c%3Dd%26e%3Df
这实际上是垃圾。
您需要分别对各个组件执行 URL 编码,然后使用 =
和 &
组合结果。
关于Java - 连接到亚马逊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13482785/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 7年前关闭。 Improve this qu
我已经在我的网站上列出了我所有的亚马逊订单。 现在,我希望能够将订单标记为从我的网站发货,并且状态将在亚马逊上立即更新。 我看过亚马逊提要 api,但不清楚提要 xml 的格式。 我只想要一个用于更新
我想在不经过转换过程(我的内容 --> Epub/Html --> KindleGen/Calibre/其他工具)的情况下生成 KF8,因为我需要更多地控制 kf8 文件的生成。 guidelines
我打算为亚马逊的市场网络服务 (MWS) 开发一个客户端。我的要求是更新订单、同步订单状态、使用他们拥有的 API 获取订单详细信息。 但是,我找不到沙盒环境来测试这些场景。我了解亚马逊有一个支付沙箱
PA-API 的销售已经停止,我想知道这对我来说意味着什么。我喜欢这个 API,但我看不到有自己的网站和购物车等的可能性。 是否有来自 Amazon 的 API 可以将其用于购物车和结账? 只需生成购
我在 salesforce 领域工作,并尝试使用产品 Feed API 在亚马逊卖家账户中创建产品。但我不确定如何为属于珠宝类别的产品创建完美的 xml 提要文件。我可以使用 MWS 客户端库吗?或者
如何使用 Amazon MWS 将内嵌图像添加到注册品牌的产品描述部分还是平面文件? 谢谢! 最佳答案 如果您是注册品牌所有者,则需要使用 enhanced brand content templat
是否可以在一个 aws dynamodb 帐户中创建多个数据库?例如,一个管理大学表格的大学数据库和一个管理学校表格的学校数据库。谢谢。 最佳答案 另一个答案是正确的,但更完整的答案是 DynamoD
我有一个简单的问题,因为没有找到任何答案。实际上,我可以使用亚马逊的 API 从 ASIN 代码中获取有关产品的信息,但在这张图片的情况下,我可以获得一张不同格式的图片,大拇指、中拇指等,对吗? 在我
关于哪个 Web 服务可以上传订单的 pdf 发票? 几周以来,可以通过sellercentral 或第三方软件了解.... 但我找不到有关 mws api 的方法.. 谢谢 最佳答案 也许你应该看看
有没有办法计算通过 amazon redshift 中的 SQL 更新查询影响的最后行数? 类似于 PG_LAST_COPY_COUNT() 之类的函数,用于计算亚马逊 Redshift 中的最后一个
我决定将 MySql 或 NoSQL 用于论坛站点。我对整个 NoSQL 想法很陌生,在阅读文档时我注意到“项目”不能大于 64kb,这包括属性和值。从我理解的方式来看,我能想到的实现这一点的唯一方法
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在创建一个 Alexa 技能,需要检索各种内容,例如日期、文件号等。我还需要它来获取用户对其所说的“描述”并能够保留它。 例如: "Alexa, description, patent draft
我已经用“标题”和“类别”等对我的产品建立了索引。现在,在我的自动建议中,我想要诸如Amazon / Flipkart之类的东西, 例如,如果我查询“绿色”,建议使用“绿茶”,“绿色衬衫”,“男士绿色
我是英国亚马逊(以及同一帐户上的所有欧盟商城)的注册专业卖家 我有我的卖家帐户 ID、开发者 ID、开发者身份验证 token 和私钥。 在 MWS 暂存器中,我可以发出请求并获得状态 API 的成功
我有一个 Web 服务器在 Ubuntu Amazon EC2 实例上运行,端口为 3000。15.0.0.10 是这个 EC2 实例的私有(private) ip。 在我通过 ssh 进入该实例并运
我在 Amazon S3 中使用 GetSessionToken/GetFederationToken 的临时 session ,我计划拥有超过 10K 个用户,每个用户都可以上传到 S3,所以一开始
我在heroku上有一个django应用程序,它提供来自亚马逊s3存储桶的静态文件。我使用 boto 库并按照网站上的指南进行操作。我可以做什么来加快文件传输速度? 部分代码: DEFAULT_FIL
我正在尝试制作一个小Java程序。 该程序有 3 个整数的输入:S:开始的蚊子,K:每只蚊子生下的 child 的数量,N:我们“调查”的天数。 亚马逊地区的每只蚊子只能存活 1 天。第 0 天,我们
我是一名优秀的程序员,十分优秀!