问题
I've just installed cURL on my hard-drive in order to use for testing with my localhost (on the command prompt). However I cannot connect to any port. You can see the directory and my input below:
C:\Users\me\curl\src>curl -v http://localhost:9000
which gives me:
- Rebuilt URL to: http://localhost:9000/
- timeout on name lookup is not supported
- Trying ::1...
- TCP_NODELAY set
- Trying 127.0.0.1...
- TCP_NODELAY set
- connect to ::1 port 9000 failed: Connection refused
- connect to 127.0.0.1 port 9000 failed: Connection refused
- Failed to connect to localhost port 9000: Connection refused
- Closing connection 0 curl: (7) Failed to connect to localhost port 9000: Connection refused
Perhaps I should have added that I am using IntelliJ and have since enabled cURL on the harddrive (allowing me to access it from any directory); prompting me to try the following:
C:\Users\me\scala\play\my-project>curl -v http://localhost:9000/
which returns:
- timeout on name lookup is not supported
- Trying ::1...
- TCP_NODELAY set
- connect to ::1 port 9000 failed: Connection refused
- Trying 127.0.0.1...
- TCP_NODELAY set
- connect to 127.0.0.1 port 9000 failed: Connection refused
- Failed to connect to localhost port 9000: Connection refused
- Closing connection 0 curl: (7) Failed to connect to localhost port 9000: Connection refused
So it seems that port 9000 is not open. And I am now thinking that this needs to be configured within intelliJ - here - but this looks as though it is only supported on the Ultimate Edition. This might be the cause of the issue that I am having. It may be helpful to others but it would be good to be sure of this if anyone does have any more information.
回答1:
This means that your application is not started yet (so it isn't actually listening on port 9000)
You should add a run configuration in IntelliJ (Run
> Edit Configurations
> +
> Play 2 App
) and run it before doing your curl call.
Another way to start your application is just to open a terminal in your project folder, and run sbt run
.
回答2:
Try the following server code while running curl
:
import java.net._
import java.io._
import scala.io._
val server = new ServerSocket(9000)
while (true) {
val serv = server.accept()
val in = new BufferedSource(serv.getInputStream()).getLines()
val out = new PrintStream(serv.getOutputStream())
out.println(in.next())
out.flush()
serv.close()
}
来源:https://stackoverflow.com/questions/44326251/cannot-connect-to-localhost-with-curl-on-command-prompt