AEUPH commited on
Commit
80d39a9
·
verified ·
1 Parent(s): ab31bb5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -22
app.py CHANGED
@@ -10,15 +10,15 @@ def forward_parameters(target_url, extra_params):
10
  :param extra_params: A dictionary of additional parameters to forward.
11
  :return: The response from the target URL.
12
  """
 
 
 
 
 
 
 
 
13
  try:
14
- # Validate the target URL
15
- parsed_url = urlparse(target_url)
16
- if not parsed_url.scheme in ['http', 'https']:
17
- return "Invalid URL: URLs must start with http:// or https://"
18
-
19
- # Construct the full URL with extra parameters
20
- encoded_params = urlencode(extra_params, quote_via=quote_plus)
21
- full_url = f"{target_url}?{encoded_params}" if encoded_params else target_url
22
  response = requests.get(full_url) # Using GET request for simplicity
23
  return response.text
24
  except requests.exceptions.RequestException as e:
@@ -28,26 +28,20 @@ def forward_parameters(target_url, extra_params):
28
  # Streamlit interface
29
  st.title('HTTPS Streamlit Parameters Forwarder')
30
 
31
- # Correctly accessing the query parameters
32
  params = st.query_params
33
 
34
- # Debug: Log received parameters
35
- st.write("Received parameters:", params)
36
-
37
- target_url = params.get('param1', [None])[0] # Extract the target URL
38
 
39
  if target_url:
40
- # Remove 'param1' to forward the remaining parameters
41
  forwarded_params = {k: v for k, v in params.items() if k != 'param1'}
42
  response = forward_parameters(target_url, forwarded_params)
43
- st.text_area("Response from Target URL", value=response, height=300, help="The response from the forwarded URL.")
44
  else:
45
- st.error("No target URL provided.")
46
  st.markdown("""
47
- Please append `?param1=URL` to the query string in the address bar,
48
- replacing `URL` with your desired target URL.
49
-
50
- Example: `?param1=http://example.com&param2=value`
51
-
52
- This will forward `param2=value` to `http://example.com`.
53
  """)
 
10
  :param extra_params: A dictionary of additional parameters to forward.
11
  :return: The response from the target URL.
12
  """
13
+ # Validate the target URL
14
+ parsed_url = urlparse(target_url)
15
+ if parsed_url.scheme not in ['http', 'https']:
16
+ return f"Invalid URL: '{target_url}'. URLs must start with http:// or https://"
17
+
18
+ # Construct the full URL with extra parameters
19
+ encoded_params = urlencode(extra_params, quote_via=quote_plus)
20
+ full_url = f"{target_url}?{encoded_params}" if encoded_params else target_url
21
  try:
 
 
 
 
 
 
 
 
22
  response = requests.get(full_url) # Using GET request for simplicity
23
  return response.text
24
  except requests.exceptions.RequestException as e:
 
28
  # Streamlit interface
29
  st.title('HTTPS Streamlit Parameters Forwarder')
30
 
31
+ # Accessing the query parameters
32
  params = st.query_params
33
 
34
+ target_url = params.get('param1', [None])[0]
 
 
 
35
 
36
  if target_url:
37
+ # Remove 'param1' from the parameters to be forwarded
38
  forwarded_params = {k: v for k, v in params.items() if k != 'param1'}
39
  response = forward_parameters(target_url, forwarded_params)
40
+ st.text_area("Response from Target URL", value=response, height=300)
41
  else:
42
+ st.error("Please provide a target URL using `?param1=URL` in the query string.")
43
  st.markdown("""
44
+ **Example usage:**
45
+
46
+ Append `?param1=http://example.com&param2=value` to the query string in the address bar. This will forward `param2=value` to `http://example.com`.
 
 
 
47
  """)