真的很简单,至少我是这么想的。
Java 代码
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
public class UrlConnectionTest {
private static final String TEST_URL = "http://localhost:3000/test/hitme";
public static void main(String[] args) throws IOException {
URLConnection urlCon = null;
URL url = null;
OutputStreamWriter osw = null;
try {
url = new URL(TEST_URL);
urlCon = url.openConnection();
urlCon.setDoOutput(true);
urlCon.setRequestProperty("Content-Type", "text/plain");
osw = new OutputStreamWriter(urlCon.getOutputStream());
osw.write("HELLO WORLD");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (osw != null) {
osw.close();
}
}
}
}
测试 Controller #hitme
def hitme
puts "SOMEONE IS HITTING ME!" * 100
puts request.env.inspect
end
当我运行 Java 代码时,我在 Rails Server 控制台中看不到任何内容。但是,当我在浏览器中点击 URL 时,我会得到 TestController#hitme
中指定的输出。我以为这会很简单,但没有任何运气。有任何想法吗?
提前致谢!
最佳答案
你可能会遇到一个异常,但你没有看到它,因为你正在吞噬它。至少在 catch block 中打印异常。
即使这不是问题,如果你养成了吞下错误的习惯,你也会经常追尾。
<小时/>在您调用之前,我认为您实际上并未发送任何数据
urlCon.getInputStream();
关于java - Rails 操作未响应 Java POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839848/