File size: 1,720 Bytes
96ac2d0
 
 
 
 
 
 
 
 
 
569d138
 
 
 
 
 
96ac2d0
569d138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111e247
 
 
 
 
569d138
 
 
96ac2d0
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width" />
		<title>My static Space</title>
		<link rel="stylesheet" href="style.css" />
	</head>
	<body>
		<div class="card">
			<h1>HTTP GET Client</h1>
			<div class="input-group">
				<input type="url" id="urlInput" placeholder="Enter URL (e.g., https://api.example.com/data)" />
				<button onclick="makeRequest()">GET</button>
			</div>
			<div id="response" class="response-container"></div>
		</div>
		<script>
			async function makeRequest() {
				const url = document.getElementById('urlInput').value;
				const responseDiv = document.getElementById('response');
				
				if (!url) {
					responseDiv.innerHTML = '<div class="error">Please enter a URL</div>';
					return;
				}
				
				try {
					responseDiv.innerHTML = '<div class="loading">Loading...</div>';
					const response = await fetch(url);
					const data = await response.text();
					
					responseDiv.innerHTML = `
						<div class="status">Status: ${response.status} ${response.statusText}</div>
						<div class="headers">
							<h3>Headers:</h3>
							<pre>${JSON.stringify(Object.fromEntries(response.headers), null, 2)}</pre>
						</div>
						<div class="body">
							<h3>Response Body:</h3>
							<pre>${data}</pre>
						</div>
					`;
				} catch (error) {
					let errorMessage = error.message;
					if (error.message.includes('Failed to fetch') || error.name === 'TypeError') {
						errorMessage = `CORS Error: ${error.message}. The server may not allow cross-origin requests from this domain.`;
					}
					responseDiv.innerHTML = `<div class="error">Error: ${errorMessage}</div>`;
				}
			}
		</script>
	</body>
</html>